UNPKG

60 kBJSONView Raw
1{
2 "_format": "hh-sol-artifact-1",
3 "contractName": "OzzieContract",
4 "sourceName": "contracts/tokens/OzzieContract.sol",
5 "abi": [
6 {
7 "inputs": [],
8 "stateMutability": "nonpayable",
9 "type": "constructor"
10 },
11 {
12 "anonymous": false,
13 "inputs": [
14 {
15 "indexed": true,
16 "internalType": "address",
17 "name": "account",
18 "type": "address"
19 },
20 {
21 "indexed": true,
22 "internalType": "address",
23 "name": "operator",
24 "type": "address"
25 },
26 {
27 "indexed": false,
28 "internalType": "bool",
29 "name": "approved",
30 "type": "bool"
31 }
32 ],
33 "name": "ApprovalForAll",
34 "type": "event"
35 },
36 {
37 "anonymous": false,
38 "inputs": [
39 {
40 "indexed": true,
41 "internalType": "address",
42 "name": "operator",
43 "type": "address"
44 },
45 {
46 "indexed": true,
47 "internalType": "address",
48 "name": "from",
49 "type": "address"
50 },
51 {
52 "indexed": true,
53 "internalType": "address",
54 "name": "to",
55 "type": "address"
56 },
57 {
58 "indexed": false,
59 "internalType": "uint256[]",
60 "name": "ids",
61 "type": "uint256[]"
62 },
63 {
64 "indexed": false,
65 "internalType": "uint256[]",
66 "name": "values",
67 "type": "uint256[]"
68 }
69 ],
70 "name": "TransferBatch",
71 "type": "event"
72 },
73 {
74 "anonymous": false,
75 "inputs": [
76 {
77 "indexed": true,
78 "internalType": "address",
79 "name": "operator",
80 "type": "address"
81 },
82 {
83 "indexed": true,
84 "internalType": "address",
85 "name": "from",
86 "type": "address"
87 },
88 {
89 "indexed": true,
90 "internalType": "address",
91 "name": "to",
92 "type": "address"
93 },
94 {
95 "indexed": false,
96 "internalType": "uint256",
97 "name": "id",
98 "type": "uint256"
99 },
100 {
101 "indexed": false,
102 "internalType": "uint256",
103 "name": "value",
104 "type": "uint256"
105 }
106 ],
107 "name": "TransferSingle",
108 "type": "event"
109 },
110 {
111 "anonymous": false,
112 "inputs": [
113 {
114 "indexed": false,
115 "internalType": "string",
116 "name": "value",
117 "type": "string"
118 },
119 {
120 "indexed": true,
121 "internalType": "uint256",
122 "name": "id",
123 "type": "uint256"
124 }
125 ],
126 "name": "URI",
127 "type": "event"
128 },
129 {
130 "inputs": [
131 {
132 "internalType": "address",
133 "name": "contractAddress",
134 "type": "address"
135 }
136 ],
137 "name": "addAvailableCurrencyTokenContract",
138 "outputs": [],
139 "stateMutability": "nonpayable",
140 "type": "function"
141 },
142 {
143 "inputs": [
144 {
145 "internalType": "address",
146 "name": "newOwner",
147 "type": "address"
148 }
149 ],
150 "name": "addOwner",
151 "outputs": [],
152 "stateMutability": "nonpayable",
153 "type": "function"
154 },
155 {
156 "inputs": [
157 {
158 "internalType": "address",
159 "name": "account",
160 "type": "address"
161 },
162 {
163 "internalType": "uint256",
164 "name": "id",
165 "type": "uint256"
166 }
167 ],
168 "name": "balanceOf",
169 "outputs": [
170 {
171 "internalType": "uint256",
172 "name": "",
173 "type": "uint256"
174 }
175 ],
176 "stateMutability": "view",
177 "type": "function"
178 },
179 {
180 "inputs": [
181 {
182 "internalType": "address[]",
183 "name": "accounts",
184 "type": "address[]"
185 },
186 {
187 "internalType": "uint256[]",
188 "name": "ids",
189 "type": "uint256[]"
190 }
191 ],
192 "name": "balanceOfBatch",
193 "outputs": [
194 {
195 "internalType": "uint256[]",
196 "name": "",
197 "type": "uint256[]"
198 }
199 ],
200 "stateMutability": "view",
201 "type": "function"
202 },
203 {
204 "inputs": [
205 {
206 "internalType": "uint256",
207 "name": "tokenId",
208 "type": "uint256"
209 },
210 {
211 "internalType": "uint256",
212 "name": "requestedAmount",
213 "type": "uint256"
214 },
215 {
216 "internalType": "address",
217 "name": "recipient",
218 "type": "address"
219 }
220 ],
221 "name": "buyWithEther",
222 "outputs": [],
223 "stateMutability": "payable",
224 "type": "function"
225 },
226 {
227 "inputs": [
228 {
229 "internalType": "uint256",
230 "name": "tokenId",
231 "type": "uint256"
232 },
233 {
234 "internalType": "uint256",
235 "name": "requestedAmount",
236 "type": "uint256"
237 },
238 {
239 "internalType": "address",
240 "name": "recipient",
241 "type": "address"
242 },
243 {
244 "internalType": "address",
245 "name": "currencyTokenContract",
246 "type": "address"
247 }
248 ],
249 "name": "buyWithToken",
250 "outputs": [],
251 "stateMutability": "nonpayable",
252 "type": "function"
253 },
254 {
255 "inputs": [
256 {
257 "internalType": "uint256",
258 "name": "tokenId",
259 "type": "uint256"
260 },
261 {
262 "internalType": "uint256",
263 "name": "requestedAmount",
264 "type": "uint256"
265 },
266 {
267 "internalType": "address",
268 "name": "recipient",
269 "type": "address"
270 }
271 ],
272 "name": "buyWithToken",
273 "outputs": [],
274 "stateMutability": "nonpayable",
275 "type": "function"
276 },
277 {
278 "inputs": [],
279 "name": "getAvailableCurrencyTokenContractsList",
280 "outputs": [
281 {
282 "internalType": "address[]",
283 "name": "",
284 "type": "address[]"
285 }
286 ],
287 "stateMutability": "view",
288 "type": "function"
289 },
290 {
291 "inputs": [],
292 "name": "getBeneficiaryAddress",
293 "outputs": [
294 {
295 "internalType": "address",
296 "name": "",
297 "type": "address"
298 }
299 ],
300 "stateMutability": "view",
301 "type": "function"
302 },
303 {
304 "inputs": [],
305 "name": "getDefaultCurrencyTokenContract",
306 "outputs": [
307 {
308 "internalType": "address",
309 "name": "",
310 "type": "address"
311 }
312 ],
313 "stateMutability": "view",
314 "type": "function"
315 },
316 {
317 "inputs": [],
318 "name": "getDescription",
319 "outputs": [
320 {
321 "internalType": "string",
322 "name": "",
323 "type": "string"
324 }
325 ],
326 "stateMutability": "view",
327 "type": "function"
328 },
329 {
330 "inputs": [],
331 "name": "getOwners",
332 "outputs": [
333 {
334 "internalType": "address[]",
335 "name": "",
336 "type": "address[]"
337 }
338 ],
339 "stateMutability": "view",
340 "type": "function"
341 },
342 {
343 "inputs": [
344 {
345 "internalType": "uint256",
346 "name": "id",
347 "type": "uint256"
348 }
349 ],
350 "name": "getPriceEther",
351 "outputs": [
352 {
353 "internalType": "uint256",
354 "name": "",
355 "type": "uint256"
356 }
357 ],
358 "stateMutability": "view",
359 "type": "function"
360 },
361 {
362 "inputs": [
363 {
364 "internalType": "uint256",
365 "name": "id",
366 "type": "uint256"
367 }
368 ],
369 "name": "getPriceFiat",
370 "outputs": [
371 {
372 "internalType": "uint256",
373 "name": "",
374 "type": "uint256"
375 }
376 ],
377 "stateMutability": "view",
378 "type": "function"
379 },
380 {
381 "inputs": [
382 {
383 "internalType": "uint256",
384 "name": "id",
385 "type": "uint256"
386 }
387 ],
388 "name": "getPriceToken",
389 "outputs": [
390 {
391 "internalType": "uint256",
392 "name": "",
393 "type": "uint256"
394 }
395 ],
396 "stateMutability": "view",
397 "type": "function"
398 },
399 {
400 "inputs": [],
401 "name": "getVersion",
402 "outputs": [
403 {
404 "internalType": "string",
405 "name": "version",
406 "type": "string"
407 }
408 ],
409 "stateMutability": "pure",
410 "type": "function"
411 },
412 {
413 "inputs": [
414 {
415 "internalType": "address",
416 "name": "account",
417 "type": "address"
418 },
419 {
420 "internalType": "address",
421 "name": "operator",
422 "type": "address"
423 }
424 ],
425 "name": "isApprovedForAll",
426 "outputs": [
427 {
428 "internalType": "bool",
429 "name": "",
430 "type": "bool"
431 }
432 ],
433 "stateMutability": "view",
434 "type": "function"
435 },
436 {
437 "inputs": [
438 {
439 "internalType": "address",
440 "name": "contractAddress",
441 "type": "address"
442 }
443 ],
444 "name": "isAvailableCurrencyTokenContract",
445 "outputs": [
446 {
447 "internalType": "bool",
448 "name": "",
449 "type": "bool"
450 }
451 ],
452 "stateMutability": "view",
453 "type": "function"
454 },
455 {
456 "inputs": [
457 {
458 "internalType": "address",
459 "name": "addr",
460 "type": "address"
461 }
462 ],
463 "name": "isOwner",
464 "outputs": [
465 {
466 "internalType": "bool",
467 "name": "",
468 "type": "bool"
469 }
470 ],
471 "stateMutability": "view",
472 "type": "function"
473 },
474 {
475 "inputs": [
476 {
477 "internalType": "address",
478 "name": "to",
479 "type": "address"
480 },
481 {
482 "internalType": "uint256",
483 "name": "id",
484 "type": "uint256"
485 },
486 {
487 "internalType": "uint256",
488 "name": "amount",
489 "type": "uint256"
490 }
491 ],
492 "name": "mint",
493 "outputs": [],
494 "stateMutability": "nonpayable",
495 "type": "function"
496 },
497 {
498 "inputs": [
499 {
500 "internalType": "address",
501 "name": "from",
502 "type": "address"
503 },
504 {
505 "internalType": "address",
506 "name": "to",
507 "type": "address"
508 },
509 {
510 "internalType": "uint256",
511 "name": "id",
512 "type": "uint256"
513 },
514 {
515 "internalType": "uint256",
516 "name": "amount",
517 "type": "uint256"
518 }
519 ],
520 "name": "ownerTransfer",
521 "outputs": [],
522 "stateMutability": "nonpayable",
523 "type": "function"
524 },
525 {
526 "inputs": [
527 {
528 "internalType": "address",
529 "name": "contractAddress",
530 "type": "address"
531 }
532 ],
533 "name": "removeAvailableCurrencyTokenContract",
534 "outputs": [],
535 "stateMutability": "nonpayable",
536 "type": "function"
537 },
538 {
539 "inputs": [
540 {
541 "internalType": "address",
542 "name": "owner",
543 "type": "address"
544 }
545 ],
546 "name": "removeOwner",
547 "outputs": [],
548 "stateMutability": "nonpayable",
549 "type": "function"
550 },
551 {
552 "inputs": [
553 {
554 "internalType": "address",
555 "name": "from",
556 "type": "address"
557 },
558 {
559 "internalType": "address",
560 "name": "to",
561 "type": "address"
562 },
563 {
564 "internalType": "uint256[]",
565 "name": "ids",
566 "type": "uint256[]"
567 },
568 {
569 "internalType": "uint256[]",
570 "name": "amounts",
571 "type": "uint256[]"
572 },
573 {
574 "internalType": "bytes",
575 "name": "data",
576 "type": "bytes"
577 }
578 ],
579 "name": "safeBatchTransferFrom",
580 "outputs": [],
581 "stateMutability": "nonpayable",
582 "type": "function"
583 },
584 {
585 "inputs": [
586 {
587 "internalType": "address",
588 "name": "from",
589 "type": "address"
590 },
591 {
592 "internalType": "address",
593 "name": "to",
594 "type": "address"
595 },
596 {
597 "internalType": "uint256",
598 "name": "id",
599 "type": "uint256"
600 },
601 {
602 "internalType": "uint256",
603 "name": "amount",
604 "type": "uint256"
605 },
606 {
607 "internalType": "bytes",
608 "name": "data",
609 "type": "bytes"
610 }
611 ],
612 "name": "safeTransferFrom",
613 "outputs": [],
614 "stateMutability": "nonpayable",
615 "type": "function"
616 },
617 {
618 "inputs": [
619 {
620 "internalType": "address",
621 "name": "operator",
622 "type": "address"
623 },
624 {
625 "internalType": "bool",
626 "name": "approved",
627 "type": "bool"
628 }
629 ],
630 "name": "setApprovalForAll",
631 "outputs": [],
632 "stateMutability": "nonpayable",
633 "type": "function"
634 },
635 {
636 "inputs": [
637 {
638 "internalType": "address payable",
639 "name": "addr",
640 "type": "address"
641 }
642 ],
643 "name": "setBeneficiaryAddress",
644 "outputs": [],
645 "stateMutability": "nonpayable",
646 "type": "function"
647 },
648 {
649 "inputs": [
650 {
651 "internalType": "address",
652 "name": "tokenContract",
653 "type": "address"
654 }
655 ],
656 "name": "setDefaultCurrencyTokenContractAddress",
657 "outputs": [],
658 "stateMutability": "nonpayable",
659 "type": "function"
660 },
661 {
662 "inputs": [
663 {
664 "internalType": "string",
665 "name": "description",
666 "type": "string"
667 }
668 ],
669 "name": "setDescription",
670 "outputs": [],
671 "stateMutability": "nonpayable",
672 "type": "function"
673 },
674 {
675 "inputs": [
676 {
677 "internalType": "uint256",
678 "name": "id",
679 "type": "uint256"
680 },
681 {
682 "internalType": "uint256",
683 "name": "price",
684 "type": "uint256"
685 }
686 ],
687 "name": "setPriceEther",
688 "outputs": [],
689 "stateMutability": "nonpayable",
690 "type": "function"
691 },
692 {
693 "inputs": [
694 {
695 "internalType": "uint256",
696 "name": "id",
697 "type": "uint256"
698 },
699 {
700 "internalType": "uint256",
701 "name": "price",
702 "type": "uint256"
703 }
704 ],
705 "name": "setPriceFiat",
706 "outputs": [],
707 "stateMutability": "nonpayable",
708 "type": "function"
709 },
710 {
711 "inputs": [
712 {
713 "internalType": "uint256",
714 "name": "id",
715 "type": "uint256"
716 },
717 {
718 "internalType": "uint256",
719 "name": "price",
720 "type": "uint256"
721 }
722 ],
723 "name": "setPriceToken",
724 "outputs": [],
725 "stateMutability": "nonpayable",
726 "type": "function"
727 },
728 {
729 "inputs": [
730 {
731 "internalType": "uint256",
732 "name": "id",
733 "type": "uint256"
734 },
735 {
736 "internalType": "string",
737 "name": "uri",
738 "type": "string"
739 }
740 ],
741 "name": "setUri",
742 "outputs": [],
743 "stateMutability": "nonpayable",
744 "type": "function"
745 },
746 {
747 "inputs": [
748 {
749 "internalType": "bytes4",
750 "name": "interfaceId",
751 "type": "bytes4"
752 }
753 ],
754 "name": "supportsInterface",
755 "outputs": [
756 {
757 "internalType": "bool",
758 "name": "",
759 "type": "bool"
760 }
761 ],
762 "stateMutability": "view",
763 "type": "function"
764 },
765 {
766 "inputs": [
767 {
768 "internalType": "uint256",
769 "name": "id",
770 "type": "uint256"
771 }
772 ],
773 "name": "uri",
774 "outputs": [
775 {
776 "internalType": "string",
777 "name": "",
778 "type": "string"
779 }
780 ],
781 "stateMutability": "view",
782 "type": "function"
783 }
784 ],
785 "bytecode": "0x60806040523480156200001157600080fd5b506040805160208101909152600081526200002c816200003e565b50620000383362000057565b62000244565b80516200005390600290602084019062000161565b5050565b600454158015906200007957503360009081526003602052604090205460ff16155b15620000d65760405162461bcd60e51b815260206004820152602260248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604482015261371760f11b606482015260840160405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff1615620000fb5750565b6001600160a01b03166000818152600360205260408120805460ff191660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055565b8280546200016f9062000207565b90600052602060002090601f016020900481019282620001935760008555620001de565b82601f10620001ae57805160ff1916838001178555620001de565b82800160010185558215620001de579182015b82811115620001de578251825591602001919060010190620001c1565b50620001ec929150620001f0565b5090565b5b80821115620001ec5760008155600101620001f1565b600181811c908216806200021c57607f821691505b602082108114156200023e57634e487b7160e01b600052602260045260246000fd5b50919050565b61293480620002546000396000f3fe6080604052600436106102035760003560e01c8063724e5c1711610118578063b33a599f116100a0578063d36223f11161006f578063d36223f114610643578063e1461f1214610663578063e985e9c514610690578063ec6be06e146106d9578063f242432a146106f957600080fd5b8063b33a599f146105ac578063b68de974146105cc578063d114c9dc14610605578063d1eff8951461062557600080fd5b806388d0f86a116100e757806388d0f86a1461050a57806390c3f38f1461052a578063a0e67e2b1461054a578063a22cb4651461055f578063adfadad31461057f57600080fd5b8063724e5c1714610495578063782f08ae146104b55780638003e27f146104d557806380dc439e146104f757600080fd5b80631a0925411161019b5780633a932dba1161016a5780633a932dba146103e85780633de4fdc8146104085780634e1273f414610428578063578680be146104555780637065cb481461047557600080fd5b80631a092541146103735780631abe7cb3146103885780632eb2c2d6146103a85780632f54bf6e146103c857600080fd5b8063156e29f6116101d7578063156e29f6146102d257806316bef596146102f4578063173825d914610326578063177ed0f31461034657600080fd5b8062fdd58e1461020857806301ffc9a71461023b5780630d8e6e2c1461026b5780630e89341c146102b2575b600080fd5b34801561021457600080fd5b506102286102233660046120fb565b610719565b6040519081526020015b60405180910390f35b34801561024757600080fd5b5061025b610256366004612243565b6107af565b6040519015158152602001610232565b34801561027757600080fd5b506040805180820190915260158152744f7a7a6965436f6e7472616374207620302e302e3160581b60208201525b6040516102329190612561565b3480156102be57600080fd5b506102a56102cd3660046122b6565b610801565b3480156102de57600080fd5b506102f26102ed366004612126565b6108a3565b005b34801561030057600080fd5b506009546001600160a01b03165b6040516001600160a01b039091168152602001610232565b34801561033257600080fd5b506102f2610341366004611f1d565b6108f4565b34801561035257600080fd5b506102286103613660046122b6565b60009081526008602052604090205490565b34801561037f57600080fd5b506102a561099c565b34801561039457600080fd5b506102f26103a3366004612309565b610a2e565b3480156103b457600080fd5b506102f26103c3366004611f78565b610a65565b3480156103d457600080fd5b5061025b6103e3366004611f1d565b610ab1565b3480156103f457600080fd5b506102f2610403366004611f1d565b610acf565b34801561041457600080fd5b506102f2610423366004611f1d565b610b14565b34801561043457600080fd5b5061044861044336600461215a565b610b9f565b6040516102329190612520565b34801561046157600080fd5b506102f2610470366004612309565b610d01565b34801561048157600080fd5b506102f2610490366004611f1d565b610d38565b3480156104a157600080fd5b506102f26104b0366004612362565b610de3565b3480156104c157600080fd5b506102f26104d03660046122ce565b610e20565b3480156104e157600080fd5b506104ea610e64565b60405161023291906124d3565b6102f261050536600461232a565b610ec5565b34801561051657600080fd5b506102f2610525366004612309565b610f56565b34801561053657600080fd5b506102f261054536600461227b565b610f8d565b34801561055657600080fd5b506104ea610fc9565b34801561056b57600080fd5b506102f261057a3660046120ce565b611029565b34801561058b57600080fd5b5061022861059a3660046122b6565b60009081526007602052604090205490565b3480156105b857600080fd5b506102f26105c7366004611f1d565b611034565b3480156105d857600080fd5b5061025b6105e7366004611f1d565b6001600160a01b03166000908152600a602052604090205460ff1690565b34801561061157600080fd5b506102f2610620366004612022565b6110ec565b34801561063157600080fd5b50600c546001600160a01b031661030e565b34801561064f57600080fd5b506102f261065e36600461232a565b61113f565b34801561066f57600080fd5b5061022861067e3660046122b6565b60009081526006602052604090205490565b34801561069c57600080fd5b5061025b6106ab366004611f40565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b3480156106e557600080fd5b506102f26106f4366004611f1d565b61119a565b34801561070557600080fd5b506102f2610714366004612067565b6111e1565b60006001600160a01b0383166107895760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806107e057506001600160e01b031982166303a24d0760e21b145b806107fb57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000818152600d6020526040902080546060919061081e90612774565b80601f016020809104026020016040519081016040528092919081815260200182805461084a90612774565b80156108975780601f1061086c57610100808354040283529160200191610897565b820191906000526020600020905b81548152906001019060200180831161087a57829003601f168201915b50505050509050919050565b6108ac33610ab1565b6108c85760405162461bcd60e51b8152600401610780906125bc565b6108ef8383836040518060400160405280600381526020016203078360ec1b815250611226565b505050565b6108fd33610ab1565b6109195760405162461bcd60e51b8152600401610780906125bc565b61092281610ab1565b61096e5760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e657200006044820152606401610780565b6001600160a01b0381166000908152600360205260409020805460ff1916905561099960048261133a565b50565b6060600580546109ab90612774565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790612774565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050505050905090565b610a3733610ab1565b610a535760405162461bcd60e51b8152600401610780906125bc565b60009182526006602052604090912055565b6001600160a01b038516331480610a815750610a8185336106ab565b610a9d5760405162461bcd60e51b8152600401610780906125fe565b610aaa858585858561147c565b5050505050565b6001600160a01b031660009081526003602052604090205460ff1690565b610ad833610ab1565b610af45760405162461bcd60e51b8152600401610780906125bc565b600980546001600160a01b0319166001600160a01b038316179055610999815b610b1d33610ab1565b610b395760405162461bcd60e51b8152600401610780906125bc565b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b60608151835114610c045760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610780565b6000835167ffffffffffffffff811115610c2e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610c57578160200160208202803683370190505b50905060005b8451811015610cf957610cbe858281518110610c8957634e487b7160e01b600052603260045260246000fd5b6020026020010151858381518110610cb157634e487b7160e01b600052603260045260246000fd5b6020026020010151610719565b828281518110610cde57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610cf2816127dc565b9050610c5d565b509392505050565b610d0a33610ab1565b610d265760405162461bcd60e51b8152600401610780906125bc565b60009182526008602052604090912055565b60045415801590610d4f5750610d4d33610ab1565b155b15610d6c5760405162461bcd60e51b8152600401610780906125bc565b610d7581610ab1565b15610d7d5750565b6001600160a01b03166000818152600360205260408120805460ff191660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055565b60405162461bcd60e51b815260206004820152601260248201527113d4115490551253d397d11254d05093115160721b6044820152606401610780565b610e2933610ab1565b610e455760405162461bcd60e51b8152600401610780906125bc565b6000828152600d6020908152604090912082516108ef92840190611da1565b6060600b805480602002602001604051908101604052809291908181526020018280548015610a2457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e9e575050505050905090565b600c548290610edd906001600160a01b031685610719565b1015610f165760405162461bcd60e51b815260206004820152600860248201526714d3d31117d3d55560c21b6044820152606401610780565b610f208383611675565b600c5460408051808201909152600381526203078360ec1b60208201526108ef916001600160a01b031690839086908690611763565b610f5f33610ab1565b610f7b5760405162461bcd60e51b8152600401610780906125bc565b60009182526007602052604090912055565b610f9633610ab1565b610fb25760405162461bcd60e51b8152600401610780906125bc565b8051610fc5906005906020840190611da1565b5050565b60606004805480602002602001604051908101604052809291908181526020018280548015610a24576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610e9e575050505050905090565b610fc533838361188d565b61103d33610ab1565b6110595760405162461bcd60e51b8152600401610780906125bc565b6001600160a01b0381166000908152600a602052604090205460ff166110c15760405162461bcd60e51b815260206004820181905260248201527f54617267657420636f6e7472616374206973206e6f7420617661696c61626c656044820152606401610780565b6001600160a01b0381166000908152600a60205260409020805460ff19169055610999600b8261133a565b6110f533610ab1565b6111115760405162461bcd60e51b8152600401610780906125bc565b611139848484846040518060400160405280600381526020016203078360ec1b815250611763565b50505050565b600c548290611157906001600160a01b031685610719565b10156111905760405162461bcd60e51b815260206004820152600860248201526714d3d31117d3d55560c21b6044820152606401610780565b610f20838361196e565b6111a333610ab1565b6111bf5760405162461bcd60e51b8152600401610780906125bc565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0385163314806111fd57506111fd85336106ab565b6112195760405162461bcd60e51b8152600401610780906125fe565b610aaa8585858585611763565b6001600160a01b0384166112865760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610780565b33600061129285611987565b9050600061129f85611987565b90506000868152602081815260408083206001600160a01b038b168452909152812080548792906112d1908490612726565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611331836000898989896119e0565b50505050505050565b60005b82548110156108ef57816001600160a01b031683828154811061137057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561146a578254839061139b9060019061275d565b815481106113b957634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b03168382815481106113f757634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508280548061144357634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b80611474816127dc565b91505061133d565b81518351146114de5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610780565b6001600160a01b0384166115045760405162461bcd60e51b81526004016107809061264c565b3360005b845181101561160757600085828151811061153357634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061155f57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156115af5760405162461bcd60e51b815260040161078090612691565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906115ec908490612726565b9250508190555050505080611600906127dc565b9050611508565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611657929190612533565b60405180910390a461166d818787878787611b4b565b505050505050565b600082815260076020526040812054116116a15760405162461bcd60e51b8152600401610780906126db565b600c546001600160a01b03166116c95760405162461bcd60e51b8152600401610780906126db565b6000828152600760205260408120546116e390839061273e565b90508034101561172a5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f56414c554560701b6044820152606401610780565b600c546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015611139573d6000803e3d6000fd5b6001600160a01b0384166117895760405162461bcd60e51b81526004016107809061264c565b33600061179585611987565b905060006117a285611987565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156117e55760405162461bcd60e51b815260040161078090612691565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611822908490612726565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611882848a8a8a8a8a6119e0565b505050505050505050565b816001600160a01b0316836001600160a01b031614156119015760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610780565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600954610fc590839083906001600160a01b0316611c15565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106119cf57634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b1561166d5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611a24908990899088908890889060040161248e565b602060405180830381600087803b158015611a3e57600080fd5b505af1925050508015611a6e575060408051601f3d908101601f19168201909252611a6b9181019061225f565b60015b611b1b57611a7a612823565b806308c379a01415611ab45750611a8f61283b565b80611a9a5750611ab6565b8060405162461bcd60e51b81526004016107809190612561565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610780565b6001600160e01b0319811663f23a6e6160e01b146113315760405162461bcd60e51b815260040161078090612574565b6001600160a01b0384163b1561166d5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611b8f9089908990889088908890600401612430565b602060405180830381600087803b158015611ba957600080fd5b505af1925050508015611bd9575060408051601f3d908101601f19168201909252611bd69181019061225f565b60015b611be557611a7a612823565b6001600160e01b0319811663bc197c8160e01b146113315760405162461bcd60e51b815260040161078090612574565b6001600160a01b0381166000908152600a602052604090205460ff16611c7d5760405162461bcd60e51b815260206004820152601f60248201527f43555252454e43595f434f4e54524143545f4e4f545f535550504f52544544006044820152606401610780565b60008381526008602052604081205411611ca95760405162461bcd60e51b8152600401610780906126db565b600c546001600160a01b0316611cd15760405162461bcd60e51b8152600401610780906126db565b6001600160a01b038116611cf75760405162461bcd60e51b8152600401610780906126db565b600083815260086020526040812054611d10908461273e565b600c546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018390529192508391908216906323b872dd90606401602060405180830381600087803b158015611d6957600080fd5b505af1158015611d7d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166d9190612227565b828054611dad90612774565b90600052602060002090601f016020900481019282611dcf5760008555611e15565b82601f10611de857805160ff1916838001178555611e15565b82800160010185558215611e15579182015b82811115611e15578251825591602001919060010190611dfa565b50611e21929150611e25565b5090565b5b80821115611e215760008155600101611e26565b600082601f830112611e4a578081fd5b81356020611e5782612702565b604051611e6482826127af565b8381528281019150858301600585901b87018401881015611e83578586fd5b855b85811015611ea157813584529284019290840190600101611e85565b5090979650505050505050565b600082601f830112611ebe578081fd5b813567ffffffffffffffff811115611ed857611ed861280d565b604051611eef601f8301601f1916602001826127af565b818152846020838601011115611f03578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611f2e578081fd5b8135611f39816128c5565b9392505050565b60008060408385031215611f52578081fd5b8235611f5d816128c5565b91506020830135611f6d816128c5565b809150509250929050565b600080600080600060a08688031215611f8f578081fd5b8535611f9a816128c5565b94506020860135611faa816128c5565b9350604086013567ffffffffffffffff80821115611fc6578283fd5b611fd289838a01611e3a565b94506060880135915080821115611fe7578283fd5b611ff389838a01611e3a565b93506080880135915080821115612008578283fd5b5061201588828901611eae565b9150509295509295909350565b60008060008060808587031215612037578384fd5b8435612042816128c5565b93506020850135612052816128c5565b93969395505050506040820135916060013590565b600080600080600060a0868803121561207e578081fd5b8535612089816128c5565b94506020860135612099816128c5565b93506040860135925060608601359150608086013567ffffffffffffffff8111156120c2578182fd5b61201588828901611eae565b600080604083850312156120e0578182fd5b82356120eb816128c5565b91506020830135611f6d816128da565b6000806040838503121561210d578182fd5b8235612118816128c5565b946020939093013593505050565b60008060006060848603121561213a578081fd5b8335612145816128c5565b95602085013595506040909401359392505050565b6000806040838503121561216c578182fd5b823567ffffffffffffffff80821115612183578384fd5b818501915085601f830112612196578384fd5b813560206121a382612702565b6040516121b082826127af565b8381528281019150858301600585901b870184018b10156121cf578889fd5b8896505b848710156121fa5780356121e6816128c5565b8352600196909601959183019183016121d3565b5096505086013592505080821115612210578283fd5b5061221d85828601611e3a565b9150509250929050565b600060208284031215612238578081fd5b8151611f39816128da565b600060208284031215612254578081fd5b8135611f39816128e8565b600060208284031215612270578081fd5b8151611f39816128e8565b60006020828403121561228c578081fd5b813567ffffffffffffffff8111156122a2578182fd5b6122ae84828501611eae565b949350505050565b6000602082840312156122c7578081fd5b5035919050565b600080604083850312156122e0578182fd5b82359150602083013567ffffffffffffffff8111156122fd578182fd5b61221d85828601611eae565b6000806040838503121561231b578182fd5b50508035926020909101359150565b60008060006060848603121561233e578081fd5b83359250602084013591506040840135612357816128c5565b809150509250925092565b60008060008060808587031215612377578182fd5b84359350602085013592506040850135612390816128c5565b915060608501356123a0816128c5565b939692955090935050565b6000815180845260208085019450808401835b838110156123da578151875295820195908201906001016123be565b509495945050505050565b60008151808452815b8181101561240a576020818501810151868301820152016123ee565b8181111561241b5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260a06040820181905260009061245c908301866123ab565b828103606084015261246e81866123ab565b9050828103608084015261248281856123e5565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906124c8908301846123e5565b979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156125145783516001600160a01b0316835292840192918401916001016124ef565b50909695505050505050565b602081526000611f3960208301846123ab565b60408152600061254660408301856123ab565b828103602084015261255881856123ab565b95945050505050565b602081526000611f3960208301846123e5565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6020808252600d908201526c14d1531317d11254d050931151609a1b604082015260600190565b600067ffffffffffffffff82111561271c5761271c61280d565b5060051b60200190565b60008219821115612739576127396127f7565b500190565b6000816000190483118215151615612758576127586127f7565b500290565b60008282101561276f5761276f6127f7565b500390565b600181811c9082168061278857607f821691505b602082108114156127a957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff811182821017156127d5576127d561280d565b6040525050565b60006000198214156127f0576127f06127f7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d111561283857600481823e5160e01c5b90565b600060443d10156128495790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561287957505050505090565b82850191508151818111156128915750505050505090565b843d87010160208285010111156128ab5750505050505090565b6128ba602082860101876127af565b509095945050505050565b6001600160a01b038116811461099957600080fd5b801515811461099957600080fd5b6001600160e01b03198116811461099957600080fdfea2646970667358221220c7f9785bd1cea316966d0321aa09d2e24a9f041729600035d6dde3b63af2cdeb64736f6c63430008040033",
786 "deployedBytecode": "0x6080604052600436106102035760003560e01c8063724e5c1711610118578063b33a599f116100a0578063d36223f11161006f578063d36223f114610643578063e1461f1214610663578063e985e9c514610690578063ec6be06e146106d9578063f242432a146106f957600080fd5b8063b33a599f146105ac578063b68de974146105cc578063d114c9dc14610605578063d1eff8951461062557600080fd5b806388d0f86a116100e757806388d0f86a1461050a57806390c3f38f1461052a578063a0e67e2b1461054a578063a22cb4651461055f578063adfadad31461057f57600080fd5b8063724e5c1714610495578063782f08ae146104b55780638003e27f146104d557806380dc439e146104f757600080fd5b80631a0925411161019b5780633a932dba1161016a5780633a932dba146103e85780633de4fdc8146104085780634e1273f414610428578063578680be146104555780637065cb481461047557600080fd5b80631a092541146103735780631abe7cb3146103885780632eb2c2d6146103a85780632f54bf6e146103c857600080fd5b8063156e29f6116101d7578063156e29f6146102d257806316bef596146102f4578063173825d914610326578063177ed0f31461034657600080fd5b8062fdd58e1461020857806301ffc9a71461023b5780630d8e6e2c1461026b5780630e89341c146102b2575b600080fd5b34801561021457600080fd5b506102286102233660046120fb565b610719565b6040519081526020015b60405180910390f35b34801561024757600080fd5b5061025b610256366004612243565b6107af565b6040519015158152602001610232565b34801561027757600080fd5b506040805180820190915260158152744f7a7a6965436f6e7472616374207620302e302e3160581b60208201525b6040516102329190612561565b3480156102be57600080fd5b506102a56102cd3660046122b6565b610801565b3480156102de57600080fd5b506102f26102ed366004612126565b6108a3565b005b34801561030057600080fd5b506009546001600160a01b03165b6040516001600160a01b039091168152602001610232565b34801561033257600080fd5b506102f2610341366004611f1d565b6108f4565b34801561035257600080fd5b506102286103613660046122b6565b60009081526008602052604090205490565b34801561037f57600080fd5b506102a561099c565b34801561039457600080fd5b506102f26103a3366004612309565b610a2e565b3480156103b457600080fd5b506102f26103c3366004611f78565b610a65565b3480156103d457600080fd5b5061025b6103e3366004611f1d565b610ab1565b3480156103f457600080fd5b506102f2610403366004611f1d565b610acf565b34801561041457600080fd5b506102f2610423366004611f1d565b610b14565b34801561043457600080fd5b5061044861044336600461215a565b610b9f565b6040516102329190612520565b34801561046157600080fd5b506102f2610470366004612309565b610d01565b34801561048157600080fd5b506102f2610490366004611f1d565b610d38565b3480156104a157600080fd5b506102f26104b0366004612362565b610de3565b3480156104c157600080fd5b506102f26104d03660046122ce565b610e20565b3480156104e157600080fd5b506104ea610e64565b60405161023291906124d3565b6102f261050536600461232a565b610ec5565b34801561051657600080fd5b506102f2610525366004612309565b610f56565b34801561053657600080fd5b506102f261054536600461227b565b610f8d565b34801561055657600080fd5b506104ea610fc9565b34801561056b57600080fd5b506102f261057a3660046120ce565b611029565b34801561058b57600080fd5b5061022861059a3660046122b6565b60009081526007602052604090205490565b3480156105b857600080fd5b506102f26105c7366004611f1d565b611034565b3480156105d857600080fd5b5061025b6105e7366004611f1d565b6001600160a01b03166000908152600a602052604090205460ff1690565b34801561061157600080fd5b506102f2610620366004612022565b6110ec565b34801561063157600080fd5b50600c546001600160a01b031661030e565b34801561064f57600080fd5b506102f261065e36600461232a565b61113f565b34801561066f57600080fd5b5061022861067e3660046122b6565b60009081526006602052604090205490565b34801561069c57600080fd5b5061025b6106ab366004611f40565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b3480156106e557600080fd5b506102f26106f4366004611f1d565b61119a565b34801561070557600080fd5b506102f2610714366004612067565b6111e1565b60006001600160a01b0383166107895760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806107e057506001600160e01b031982166303a24d0760e21b145b806107fb57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000818152600d6020526040902080546060919061081e90612774565b80601f016020809104026020016040519081016040528092919081815260200182805461084a90612774565b80156108975780601f1061086c57610100808354040283529160200191610897565b820191906000526020600020905b81548152906001019060200180831161087a57829003601f168201915b50505050509050919050565b6108ac33610ab1565b6108c85760405162461bcd60e51b8152600401610780906125bc565b6108ef8383836040518060400160405280600381526020016203078360ec1b815250611226565b505050565b6108fd33610ab1565b6109195760405162461bcd60e51b8152600401610780906125bc565b61092281610ab1565b61096e5760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e657200006044820152606401610780565b6001600160a01b0381166000908152600360205260409020805460ff1916905561099960048261133a565b50565b6060600580546109ab90612774565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790612774565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050505050905090565b610a3733610ab1565b610a535760405162461bcd60e51b8152600401610780906125bc565b60009182526006602052604090912055565b6001600160a01b038516331480610a815750610a8185336106ab565b610a9d5760405162461bcd60e51b8152600401610780906125fe565b610aaa858585858561147c565b5050505050565b6001600160a01b031660009081526003602052604090205460ff1690565b610ad833610ab1565b610af45760405162461bcd60e51b8152600401610780906125bc565b600980546001600160a01b0319166001600160a01b038316179055610999815b610b1d33610ab1565b610b395760405162461bcd60e51b8152600401610780906125bc565b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b60608151835114610c045760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610780565b6000835167ffffffffffffffff811115610c2e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610c57578160200160208202803683370190505b50905060005b8451811015610cf957610cbe858281518110610c8957634e487b7160e01b600052603260045260246000fd5b6020026020010151858381518110610cb157634e487b7160e01b600052603260045260246000fd5b6020026020010151610719565b828281518110610cde57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610cf2816127dc565b9050610c5d565b509392505050565b610d0a33610ab1565b610d265760405162461bcd60e51b8152600401610780906125bc565b60009182526008602052604090912055565b60045415801590610d4f5750610d4d33610ab1565b155b15610d6c5760405162461bcd60e51b8152600401610780906125bc565b610d7581610ab1565b15610d7d5750565b6001600160a01b03166000818152600360205260408120805460ff191660019081179091556004805491820181559091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055565b60405162461bcd60e51b815260206004820152601260248201527113d4115490551253d397d11254d05093115160721b6044820152606401610780565b610e2933610ab1565b610e455760405162461bcd60e51b8152600401610780906125bc565b6000828152600d6020908152604090912082516108ef92840190611da1565b6060600b805480602002602001604051908101604052809291908181526020018280548015610a2457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e9e575050505050905090565b600c548290610edd906001600160a01b031685610719565b1015610f165760405162461bcd60e51b815260206004820152600860248201526714d3d31117d3d55560c21b6044820152606401610780565b610f208383611675565b600c5460408051808201909152600381526203078360ec1b60208201526108ef916001600160a01b031690839086908690611763565b610f5f33610ab1565b610f7b5760405162461bcd60e51b8152600401610780906125bc565b60009182526007602052604090912055565b610f9633610ab1565b610fb25760405162461bcd60e51b8152600401610780906125bc565b8051610fc5906005906020840190611da1565b5050565b60606004805480602002602001604051908101604052809291908181526020018280548015610a24576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610e9e575050505050905090565b610fc533838361188d565b61103d33610ab1565b6110595760405162461bcd60e51b8152600401610780906125bc565b6001600160a01b0381166000908152600a602052604090205460ff166110c15760405162461bcd60e51b815260206004820181905260248201527f54617267657420636f6e7472616374206973206e6f7420617661696c61626c656044820152606401610780565b6001600160a01b0381166000908152600a60205260409020805460ff19169055610999600b8261133a565b6110f533610ab1565b6111115760405162461bcd60e51b8152600401610780906125bc565b611139848484846040518060400160405280600381526020016203078360ec1b815250611763565b50505050565b600c548290611157906001600160a01b031685610719565b10156111905760405162461bcd60e51b815260206004820152600860248201526714d3d31117d3d55560c21b6044820152606401610780565b610f20838361196e565b6111a333610ab1565b6111bf5760405162461bcd60e51b8152600401610780906125bc565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0385163314806111fd57506111fd85336106ab565b6112195760405162461bcd60e51b8152600401610780906125fe565b610aaa8585858585611763565b6001600160a01b0384166112865760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610780565b33600061129285611987565b9050600061129f85611987565b90506000868152602081815260408083206001600160a01b038b168452909152812080548792906112d1908490612726565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611331836000898989896119e0565b50505050505050565b60005b82548110156108ef57816001600160a01b031683828154811061137057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561146a578254839061139b9060019061275d565b815481106113b957634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b03168382815481106113f757634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508280548061144357634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b80611474816127dc565b91505061133d565b81518351146114de5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610780565b6001600160a01b0384166115045760405162461bcd60e51b81526004016107809061264c565b3360005b845181101561160757600085828151811061153357634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061155f57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156115af5760405162461bcd60e51b815260040161078090612691565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906115ec908490612726565b9250508190555050505080611600906127dc565b9050611508565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611657929190612533565b60405180910390a461166d818787878787611b4b565b505050505050565b600082815260076020526040812054116116a15760405162461bcd60e51b8152600401610780906126db565b600c546001600160a01b03166116c95760405162461bcd60e51b8152600401610780906126db565b6000828152600760205260408120546116e390839061273e565b90508034101561172a5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f56414c554560701b6044820152606401610780565b600c546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015611139573d6000803e3d6000fd5b6001600160a01b0384166117895760405162461bcd60e51b81526004016107809061264c565b33600061179585611987565b905060006117a285611987565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156117e55760405162461bcd60e51b815260040161078090612691565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611822908490612726565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611882848a8a8a8a8a6119e0565b505050505050505050565b816001600160a01b0316836001600160a01b031614156119015760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610780565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600954610fc590839083906001600160a01b0316611c15565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106119cf57634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b1561166d5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611a24908990899088908890889060040161248e565b602060405180830381600087803b158015611a3e57600080fd5b505af1925050508015611a6e575060408051601f3d908101601f19168201909252611a6b9181019061225f565b60015b611b1b57611a7a612823565b806308c379a01415611ab45750611a8f61283b565b80611a9a5750611ab6565b8060405162461bcd60e51b81526004016107809190612561565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610780565b6001600160e01b0319811663f23a6e6160e01b146113315760405162461bcd60e51b815260040161078090612574565b6001600160a01b0384163b1561166d5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611b8f9089908990889088908890600401612430565b602060405180830381600087803b158015611ba957600080fd5b505af1925050508015611bd9575060408051601f3d908101601f19168201909252611bd69181019061225f565b60015b611be557611a7a612823565b6001600160e01b0319811663bc197c8160e01b146113315760405162461bcd60e51b815260040161078090612574565b6001600160a01b0381166000908152600a602052604090205460ff16611c7d5760405162461bcd60e51b815260206004820152601f60248201527f43555252454e43595f434f4e54524143545f4e4f545f535550504f52544544006044820152606401610780565b60008381526008602052604081205411611ca95760405162461bcd60e51b8152600401610780906126db565b600c546001600160a01b0316611cd15760405162461bcd60e51b8152600401610780906126db565b6001600160a01b038116611cf75760405162461bcd60e51b8152600401610780906126db565b600083815260086020526040812054611d10908461273e565b600c546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018390529192508391908216906323b872dd90606401602060405180830381600087803b158015611d6957600080fd5b505af1158015611d7d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166d9190612227565b828054611dad90612774565b90600052602060002090601f016020900481019282611dcf5760008555611e15565b82601f10611de857805160ff1916838001178555611e15565b82800160010185558215611e15579182015b82811115611e15578251825591602001919060010190611dfa565b50611e21929150611e25565b5090565b5b80821115611e215760008155600101611e26565b600082601f830112611e4a578081fd5b81356020611e5782612702565b604051611e6482826127af565b8381528281019150858301600585901b87018401881015611e83578586fd5b855b85811015611ea157813584529284019290840190600101611e85565b5090979650505050505050565b600082601f830112611ebe578081fd5b813567ffffffffffffffff811115611ed857611ed861280d565b604051611eef601f8301601f1916602001826127af565b818152846020838601011115611f03578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611f2e578081fd5b8135611f39816128c5565b9392505050565b60008060408385031215611f52578081fd5b8235611f5d816128c5565b91506020830135611f6d816128c5565b809150509250929050565b600080600080600060a08688031215611f8f578081fd5b8535611f9a816128c5565b94506020860135611faa816128c5565b9350604086013567ffffffffffffffff80821115611fc6578283fd5b611fd289838a01611e3a565b94506060880135915080821115611fe7578283fd5b611ff389838a01611e3a565b93506080880135915080821115612008578283fd5b5061201588828901611eae565b9150509295509295909350565b60008060008060808587031215612037578384fd5b8435612042816128c5565b93506020850135612052816128c5565b93969395505050506040820135916060013590565b600080600080600060a0868803121561207e578081fd5b8535612089816128c5565b94506020860135612099816128c5565b93506040860135925060608601359150608086013567ffffffffffffffff8111156120c2578182fd5b61201588828901611eae565b600080604083850312156120e0578182fd5b82356120eb816128c5565b91506020830135611f6d816128da565b6000806040838503121561210d578182fd5b8235612118816128c5565b946020939093013593505050565b60008060006060848603121561213a578081fd5b8335612145816128c5565b95602085013595506040909401359392505050565b6000806040838503121561216c578182fd5b823567ffffffffffffffff80821115612183578384fd5b818501915085601f830112612196578384fd5b813560206121a382612702565b6040516121b082826127af565b8381528281019150858301600585901b870184018b10156121cf578889fd5b8896505b848710156121fa5780356121e6816128c5565b8352600196909601959183019183016121d3565b5096505086013592505080821115612210578283fd5b5061221d85828601611e3a565b9150509250929050565b600060208284031215612238578081fd5b8151611f39816128da565b600060208284031215612254578081fd5b8135611f39816128e8565b600060208284031215612270578081fd5b8151611f39816128e8565b60006020828403121561228c578081fd5b813567ffffffffffffffff8111156122a2578182fd5b6122ae84828501611eae565b949350505050565b6000602082840312156122c7578081fd5b5035919050565b600080604083850312156122e0578182fd5b82359150602083013567ffffffffffffffff8111156122fd578182fd5b61221d85828601611eae565b6000806040838503121561231b578182fd5b50508035926020909101359150565b60008060006060848603121561233e578081fd5b83359250602084013591506040840135612357816128c5565b809150509250925092565b60008060008060808587031215612377578182fd5b84359350602085013592506040850135612390816128c5565b915060608501356123a0816128c5565b939692955090935050565b6000815180845260208085019450808401835b838110156123da578151875295820195908201906001016123be565b509495945050505050565b60008151808452815b8181101561240a576020818501810151868301820152016123ee565b8181111561241b5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260a06040820181905260009061245c908301866123ab565b828103606084015261246e81866123ab565b9050828103608084015261248281856123e5565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906124c8908301846123e5565b979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156125145783516001600160a01b0316835292840192918401916001016124ef565b50909695505050505050565b602081526000611f3960208301846123ab565b60408152600061254660408301856123ab565b828103602084015261255881856123ab565b95945050505050565b602081526000611f3960208301846123e5565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6020808252600d908201526c14d1531317d11254d050931151609a1b604082015260600190565b600067ffffffffffffffff82111561271c5761271c61280d565b5060051b60200190565b60008219821115612739576127396127f7565b500190565b6000816000190483118215151615612758576127586127f7565b500290565b60008282101561276f5761276f6127f7565b500390565b600181811c9082168061278857607f821691505b602082108114156127a957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff811182821017156127d5576127d561280d565b6040525050565b60006000198214156127f0576127f06127f7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d111561283857600481823e5160e01c5b90565b600060443d10156128495790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561287957505050505090565b82850191508151818111156128915750505050505090565b843d87010160208285010111156128ab5750505050505090565b6128ba602082860101876127af565b509095945050505050565b6001600160a01b038116811461099957600080fd5b801515811461099957600080fd5b6001600160e01b03198116811461099957600080fdfea2646970667358221220c7f9785bd1cea316966d0321aa09d2e24a9f041729600035d6dde3b63af2cdeb64736f6c63430008040033",
787 "linkReferences": {},
788 "deployedLinkReferences": {}
789}