@paulstinchcombe/gasless-nft-tx 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/dist/KAMI-NFTs/KAMI1155CUpgradeable.sol +1069 -0
  2. package/dist/KAMI-NFTs/KAMI721ACUpgradable.sol +949 -0
  3. package/dist/KAMI-NFTs/KAMI721CUpgradeable.sol +691 -0
  4. package/dist/KAMI-NFTs/ProxyAdmin.sol +12 -0
  5. package/dist/KAMI-NFTs/TransparentUpgradeableProxy.sol +15 -0
  6. package/dist/KAMI-NFTs/artifacts/contracts/KAMI1155CUpgradeable.sol/KAMI1155CUpgradeable.dbg.json +4 -0
  7. package/dist/KAMI-NFTs/artifacts/contracts/KAMI1155CUpgradeable.sol/KAMI1155CUpgradeable.json +2207 -0
  8. package/dist/KAMI-NFTs/artifacts/contracts/KAMI721ACUpgradable.sol/KAMI721ACUpgradable.dbg.json +4 -0
  9. package/dist/KAMI-NFTs/artifacts/contracts/KAMI721ACUpgradable.sol/KAMI721ACUpgradable.json +2210 -0
  10. package/dist/KAMI-NFTs/artifacts/contracts/KAMI721CUpgradeable.sol/KAMI721CUpgradeable.dbg.json +4 -0
  11. package/dist/KAMI-NFTs/artifacts/contracts/KAMI721CUpgradeable.sol/KAMI721CUpgradeable.json +1823 -0
  12. package/dist/KAMI-NFTs/artifacts/contracts/ProxyAdmin.sol/KAMIProxyAdmin.dbg.json +4 -0
  13. package/dist/KAMI-NFTs/artifacts/contracts/ProxyAdmin.sol/KAMIProxyAdmin.json +132 -0
  14. package/dist/KAMI-NFTs/artifacts/contracts/TransparentUpgradeableProxy.sol/KAMITransparentUpgradeableProxy.dbg.json +4 -0
  15. package/dist/KAMI-NFTs/artifacts/contracts/TransparentUpgradeableProxy.sol/KAMITransparentUpgradeableProxy.json +116 -0
  16. package/dist/kami-sponsored-operations.d.ts.map +1 -1
  17. package/dist/kami-sponsored-operations.js +19 -7
  18. package/dist/kami-sponsored-operations.js.map +1 -1
  19. package/dist/kami-upgrade-manager.d.ts +65 -0
  20. package/dist/kami-upgrade-manager.d.ts.map +1 -0
  21. package/dist/kami-upgrade-manager.js +320 -0
  22. package/dist/kami-upgrade-manager.js.map +1 -0
  23. package/package.json +1 -1
@@ -0,0 +1,1823 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "KAMI721CUpgradeable",
4
+ "sourceName": "contracts/KAMI721CUpgradeable.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "AccessControlBadConfirmation",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "account",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "bytes32",
25
+ "name": "neededRole",
26
+ "type": "bytes32"
27
+ }
28
+ ],
29
+ "name": "AccessControlUnauthorizedAccount",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "target",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "AddressEmptyCode",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "implementation",
48
+ "type": "address"
49
+ }
50
+ ],
51
+ "name": "ERC1967InvalidImplementation",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [],
56
+ "name": "ERC1967NonPayable",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "uint256",
63
+ "name": "numerator",
64
+ "type": "uint256"
65
+ },
66
+ {
67
+ "internalType": "uint256",
68
+ "name": "denominator",
69
+ "type": "uint256"
70
+ }
71
+ ],
72
+ "name": "ERC2981InvalidDefaultRoyalty",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "receiver",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "ERC2981InvalidDefaultRoyaltyReceiver",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "tokenId",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "numerator",
96
+ "type": "uint256"
97
+ },
98
+ {
99
+ "internalType": "uint256",
100
+ "name": "denominator",
101
+ "type": "uint256"
102
+ }
103
+ ],
104
+ "name": "ERC2981InvalidTokenRoyalty",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "uint256",
111
+ "name": "tokenId",
112
+ "type": "uint256"
113
+ },
114
+ {
115
+ "internalType": "address",
116
+ "name": "receiver",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "ERC2981InvalidTokenRoyaltyReceiver",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "ERC721EnumerableForbiddenBatchMint",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [
130
+ {
131
+ "internalType": "address",
132
+ "name": "sender",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "internalType": "uint256",
137
+ "name": "tokenId",
138
+ "type": "uint256"
139
+ },
140
+ {
141
+ "internalType": "address",
142
+ "name": "owner",
143
+ "type": "address"
144
+ }
145
+ ],
146
+ "name": "ERC721IncorrectOwner",
147
+ "type": "error"
148
+ },
149
+ {
150
+ "inputs": [
151
+ {
152
+ "internalType": "address",
153
+ "name": "operator",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "internalType": "uint256",
158
+ "name": "tokenId",
159
+ "type": "uint256"
160
+ }
161
+ ],
162
+ "name": "ERC721InsufficientApproval",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [
167
+ {
168
+ "internalType": "address",
169
+ "name": "approver",
170
+ "type": "address"
171
+ }
172
+ ],
173
+ "name": "ERC721InvalidApprover",
174
+ "type": "error"
175
+ },
176
+ {
177
+ "inputs": [
178
+ {
179
+ "internalType": "address",
180
+ "name": "operator",
181
+ "type": "address"
182
+ }
183
+ ],
184
+ "name": "ERC721InvalidOperator",
185
+ "type": "error"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "address",
191
+ "name": "owner",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "ERC721InvalidOwner",
196
+ "type": "error"
197
+ },
198
+ {
199
+ "inputs": [
200
+ {
201
+ "internalType": "address",
202
+ "name": "receiver",
203
+ "type": "address"
204
+ }
205
+ ],
206
+ "name": "ERC721InvalidReceiver",
207
+ "type": "error"
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "internalType": "address",
213
+ "name": "sender",
214
+ "type": "address"
215
+ }
216
+ ],
217
+ "name": "ERC721InvalidSender",
218
+ "type": "error"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "uint256",
224
+ "name": "tokenId",
225
+ "type": "uint256"
226
+ }
227
+ ],
228
+ "name": "ERC721NonexistentToken",
229
+ "type": "error"
230
+ },
231
+ {
232
+ "inputs": [
233
+ {
234
+ "internalType": "address",
235
+ "name": "owner",
236
+ "type": "address"
237
+ },
238
+ {
239
+ "internalType": "uint256",
240
+ "name": "index",
241
+ "type": "uint256"
242
+ }
243
+ ],
244
+ "name": "ERC721OutOfBoundsIndex",
245
+ "type": "error"
246
+ },
247
+ {
248
+ "inputs": [],
249
+ "name": "EnforcedPause",
250
+ "type": "error"
251
+ },
252
+ {
253
+ "inputs": [],
254
+ "name": "ExpectedPause",
255
+ "type": "error"
256
+ },
257
+ {
258
+ "inputs": [],
259
+ "name": "FailedCall",
260
+ "type": "error"
261
+ },
262
+ {
263
+ "inputs": [],
264
+ "name": "InvalidInitialization",
265
+ "type": "error"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "NotInitializing",
270
+ "type": "error"
271
+ },
272
+ {
273
+ "inputs": [],
274
+ "name": "RoyaltiesMustSumTo10000",
275
+ "type": "error"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "RoyaltyPercentageTooHigh",
280
+ "type": "error"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "address",
286
+ "name": "token",
287
+ "type": "address"
288
+ }
289
+ ],
290
+ "name": "SafeERC20FailedOperation",
291
+ "type": "error"
292
+ },
293
+ {
294
+ "inputs": [],
295
+ "name": "TokenDoesNotExist",
296
+ "type": "error"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "UUPSUnauthorizedCallContext",
301
+ "type": "error"
302
+ },
303
+ {
304
+ "inputs": [
305
+ {
306
+ "internalType": "bytes32",
307
+ "name": "slot",
308
+ "type": "bytes32"
309
+ }
310
+ ],
311
+ "name": "UUPSUnsupportedProxiableUUID",
312
+ "type": "error"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ {
318
+ "indexed": true,
319
+ "internalType": "address",
320
+ "name": "owner",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "indexed": true,
325
+ "internalType": "address",
326
+ "name": "approved",
327
+ "type": "address"
328
+ },
329
+ {
330
+ "indexed": true,
331
+ "internalType": "uint256",
332
+ "name": "tokenId",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "name": "Approval",
337
+ "type": "event"
338
+ },
339
+ {
340
+ "anonymous": false,
341
+ "inputs": [
342
+ {
343
+ "indexed": true,
344
+ "internalType": "address",
345
+ "name": "owner",
346
+ "type": "address"
347
+ },
348
+ {
349
+ "indexed": true,
350
+ "internalType": "address",
351
+ "name": "operator",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "indexed": false,
356
+ "internalType": "bool",
357
+ "name": "approved",
358
+ "type": "bool"
359
+ }
360
+ ],
361
+ "name": "ApprovalForAll",
362
+ "type": "event"
363
+ },
364
+ {
365
+ "anonymous": false,
366
+ "inputs": [
367
+ {
368
+ "indexed": false,
369
+ "internalType": "uint64",
370
+ "name": "version",
371
+ "type": "uint64"
372
+ }
373
+ ],
374
+ "name": "Initialized",
375
+ "type": "event"
376
+ },
377
+ {
378
+ "anonymous": false,
379
+ "inputs": [
380
+ {
381
+ "indexed": false,
382
+ "internalType": "address",
383
+ "name": "account",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "name": "Paused",
388
+ "type": "event"
389
+ },
390
+ {
391
+ "anonymous": false,
392
+ "inputs": [
393
+ {
394
+ "indexed": true,
395
+ "internalType": "bytes32",
396
+ "name": "role",
397
+ "type": "bytes32"
398
+ },
399
+ {
400
+ "indexed": true,
401
+ "internalType": "bytes32",
402
+ "name": "previousAdminRole",
403
+ "type": "bytes32"
404
+ },
405
+ {
406
+ "indexed": true,
407
+ "internalType": "bytes32",
408
+ "name": "newAdminRole",
409
+ "type": "bytes32"
410
+ }
411
+ ],
412
+ "name": "RoleAdminChanged",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ {
419
+ "indexed": true,
420
+ "internalType": "bytes32",
421
+ "name": "role",
422
+ "type": "bytes32"
423
+ },
424
+ {
425
+ "indexed": true,
426
+ "internalType": "address",
427
+ "name": "account",
428
+ "type": "address"
429
+ },
430
+ {
431
+ "indexed": true,
432
+ "internalType": "address",
433
+ "name": "sender",
434
+ "type": "address"
435
+ }
436
+ ],
437
+ "name": "RoleGranted",
438
+ "type": "event"
439
+ },
440
+ {
441
+ "anonymous": false,
442
+ "inputs": [
443
+ {
444
+ "indexed": true,
445
+ "internalType": "bytes32",
446
+ "name": "role",
447
+ "type": "bytes32"
448
+ },
449
+ {
450
+ "indexed": true,
451
+ "internalType": "address",
452
+ "name": "account",
453
+ "type": "address"
454
+ },
455
+ {
456
+ "indexed": true,
457
+ "internalType": "address",
458
+ "name": "sender",
459
+ "type": "address"
460
+ }
461
+ ],
462
+ "name": "RoleRevoked",
463
+ "type": "event"
464
+ },
465
+ {
466
+ "anonymous": false,
467
+ "inputs": [
468
+ {
469
+ "indexed": true,
470
+ "internalType": "address",
471
+ "name": "from",
472
+ "type": "address"
473
+ },
474
+ {
475
+ "indexed": true,
476
+ "internalType": "address",
477
+ "name": "to",
478
+ "type": "address"
479
+ },
480
+ {
481
+ "indexed": true,
482
+ "internalType": "uint256",
483
+ "name": "tokenId",
484
+ "type": "uint256"
485
+ }
486
+ ],
487
+ "name": "Transfer",
488
+ "type": "event"
489
+ },
490
+ {
491
+ "anonymous": false,
492
+ "inputs": [
493
+ {
494
+ "indexed": false,
495
+ "internalType": "address",
496
+ "name": "account",
497
+ "type": "address"
498
+ }
499
+ ],
500
+ "name": "Unpaused",
501
+ "type": "event"
502
+ },
503
+ {
504
+ "anonymous": false,
505
+ "inputs": [
506
+ {
507
+ "indexed": true,
508
+ "internalType": "address",
509
+ "name": "implementation",
510
+ "type": "address"
511
+ }
512
+ ],
513
+ "name": "Upgraded",
514
+ "type": "event"
515
+ },
516
+ {
517
+ "inputs": [],
518
+ "name": "DEFAULT_ADMIN_ROLE",
519
+ "outputs": [
520
+ {
521
+ "internalType": "bytes32",
522
+ "name": "",
523
+ "type": "bytes32"
524
+ }
525
+ ],
526
+ "stateMutability": "view",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [],
531
+ "name": "OWNER_ROLE",
532
+ "outputs": [
533
+ {
534
+ "internalType": "bytes32",
535
+ "name": "",
536
+ "type": "bytes32"
537
+ }
538
+ ],
539
+ "stateMutability": "view",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [],
544
+ "name": "PLATFORM_ROLE",
545
+ "outputs": [
546
+ {
547
+ "internalType": "bytes32",
548
+ "name": "",
549
+ "type": "bytes32"
550
+ }
551
+ ],
552
+ "stateMutability": "view",
553
+ "type": "function"
554
+ },
555
+ {
556
+ "inputs": [],
557
+ "name": "RENTER_ROLE",
558
+ "outputs": [
559
+ {
560
+ "internalType": "bytes32",
561
+ "name": "",
562
+ "type": "bytes32"
563
+ }
564
+ ],
565
+ "stateMutability": "view",
566
+ "type": "function"
567
+ },
568
+ {
569
+ "inputs": [],
570
+ "name": "UPGRADER_ROLE",
571
+ "outputs": [
572
+ {
573
+ "internalType": "bytes32",
574
+ "name": "",
575
+ "type": "bytes32"
576
+ }
577
+ ],
578
+ "stateMutability": "view",
579
+ "type": "function"
580
+ },
581
+ {
582
+ "inputs": [],
583
+ "name": "UPGRADE_INTERFACE_VERSION",
584
+ "outputs": [
585
+ {
586
+ "internalType": "string",
587
+ "name": "",
588
+ "type": "string"
589
+ }
590
+ ],
591
+ "stateMutability": "view",
592
+ "type": "function"
593
+ },
594
+ {
595
+ "inputs": [
596
+ {
597
+ "internalType": "address",
598
+ "name": "to",
599
+ "type": "address"
600
+ },
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "tokenId",
604
+ "type": "uint256"
605
+ }
606
+ ],
607
+ "name": "approve",
608
+ "outputs": [],
609
+ "stateMutability": "nonpayable",
610
+ "type": "function"
611
+ },
612
+ {
613
+ "inputs": [
614
+ {
615
+ "internalType": "address",
616
+ "name": "owner",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "name": "balanceOf",
621
+ "outputs": [
622
+ {
623
+ "internalType": "uint256",
624
+ "name": "",
625
+ "type": "uint256"
626
+ }
627
+ ],
628
+ "stateMutability": "view",
629
+ "type": "function"
630
+ },
631
+ {
632
+ "inputs": [
633
+ {
634
+ "internalType": "uint256",
635
+ "name": "tokenId",
636
+ "type": "uint256"
637
+ }
638
+ ],
639
+ "name": "burn",
640
+ "outputs": [],
641
+ "stateMutability": "nonpayable",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ {
647
+ "internalType": "uint256",
648
+ "name": "tokenId",
649
+ "type": "uint256"
650
+ }
651
+ ],
652
+ "name": "endRental",
653
+ "outputs": [],
654
+ "stateMutability": "nonpayable",
655
+ "type": "function"
656
+ },
657
+ {
658
+ "inputs": [
659
+ {
660
+ "internalType": "uint256",
661
+ "name": "tokenId",
662
+ "type": "uint256"
663
+ }
664
+ ],
665
+ "name": "exists",
666
+ "outputs": [
667
+ {
668
+ "internalType": "bool",
669
+ "name": "",
670
+ "type": "bool"
671
+ }
672
+ ],
673
+ "stateMutability": "view",
674
+ "type": "function"
675
+ },
676
+ {
677
+ "inputs": [
678
+ {
679
+ "internalType": "uint256",
680
+ "name": "tokenId",
681
+ "type": "uint256"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "additionalDuration",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "additionalPayment",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "name": "extendRental",
695
+ "outputs": [],
696
+ "stateMutability": "nonpayable",
697
+ "type": "function"
698
+ },
699
+ {
700
+ "inputs": [
701
+ {
702
+ "internalType": "uint256",
703
+ "name": "tokenId",
704
+ "type": "uint256"
705
+ }
706
+ ],
707
+ "name": "getApproved",
708
+ "outputs": [
709
+ {
710
+ "internalType": "address",
711
+ "name": "",
712
+ "type": "address"
713
+ }
714
+ ],
715
+ "stateMutability": "view",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [
720
+ {
721
+ "internalType": "uint256",
722
+ "name": "tokenId",
723
+ "type": "uint256"
724
+ }
725
+ ],
726
+ "name": "getMintRoyaltyReceivers",
727
+ "outputs": [
728
+ {
729
+ "components": [
730
+ {
731
+ "internalType": "address",
732
+ "name": "receiver",
733
+ "type": "address"
734
+ },
735
+ {
736
+ "internalType": "uint96",
737
+ "name": "feeNumerator",
738
+ "type": "uint96"
739
+ }
740
+ ],
741
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
742
+ "name": "",
743
+ "type": "tuple[]"
744
+ }
745
+ ],
746
+ "stateMutability": "view",
747
+ "type": "function"
748
+ },
749
+ {
750
+ "inputs": [
751
+ {
752
+ "internalType": "uint256",
753
+ "name": "tokenId",
754
+ "type": "uint256"
755
+ }
756
+ ],
757
+ "name": "getRentalInfo",
758
+ "outputs": [
759
+ {
760
+ "components": [
761
+ {
762
+ "internalType": "address",
763
+ "name": "renter",
764
+ "type": "address"
765
+ },
766
+ {
767
+ "internalType": "uint256",
768
+ "name": "startTime",
769
+ "type": "uint256"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "endTime",
774
+ "type": "uint256"
775
+ },
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "rentalPrice",
779
+ "type": "uint256"
780
+ },
781
+ {
782
+ "internalType": "bool",
783
+ "name": "active",
784
+ "type": "bool"
785
+ }
786
+ ],
787
+ "internalType": "struct KamiNFTCore.Rental",
788
+ "name": "",
789
+ "type": "tuple"
790
+ }
791
+ ],
792
+ "stateMutability": "view",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [
797
+ {
798
+ "internalType": "bytes32",
799
+ "name": "role",
800
+ "type": "bytes32"
801
+ }
802
+ ],
803
+ "name": "getRoleAdmin",
804
+ "outputs": [
805
+ {
806
+ "internalType": "bytes32",
807
+ "name": "",
808
+ "type": "bytes32"
809
+ }
810
+ ],
811
+ "stateMutability": "view",
812
+ "type": "function"
813
+ },
814
+ {
815
+ "inputs": [
816
+ {
817
+ "internalType": "uint256",
818
+ "name": "tokenId",
819
+ "type": "uint256"
820
+ }
821
+ ],
822
+ "name": "getTransferRoyaltyReceivers",
823
+ "outputs": [
824
+ {
825
+ "components": [
826
+ {
827
+ "internalType": "address",
828
+ "name": "receiver",
829
+ "type": "address"
830
+ },
831
+ {
832
+ "internalType": "uint96",
833
+ "name": "feeNumerator",
834
+ "type": "uint96"
835
+ }
836
+ ],
837
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
838
+ "name": "",
839
+ "type": "tuple[]"
840
+ }
841
+ ],
842
+ "stateMutability": "view",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [
847
+ {
848
+ "internalType": "bytes32",
849
+ "name": "role",
850
+ "type": "bytes32"
851
+ },
852
+ {
853
+ "internalType": "address",
854
+ "name": "account",
855
+ "type": "address"
856
+ }
857
+ ],
858
+ "name": "grantRole",
859
+ "outputs": [],
860
+ "stateMutability": "nonpayable",
861
+ "type": "function"
862
+ },
863
+ {
864
+ "inputs": [
865
+ {
866
+ "internalType": "bytes32",
867
+ "name": "role",
868
+ "type": "bytes32"
869
+ },
870
+ {
871
+ "internalType": "address",
872
+ "name": "account",
873
+ "type": "address"
874
+ }
875
+ ],
876
+ "name": "hasRole",
877
+ "outputs": [
878
+ {
879
+ "internalType": "bool",
880
+ "name": "",
881
+ "type": "bool"
882
+ }
883
+ ],
884
+ "stateMutability": "view",
885
+ "type": "function"
886
+ },
887
+ {
888
+ "inputs": [
889
+ {
890
+ "internalType": "address",
891
+ "name": "paymentToken_",
892
+ "type": "address"
893
+ },
894
+ {
895
+ "internalType": "string",
896
+ "name": "name_",
897
+ "type": "string"
898
+ },
899
+ {
900
+ "internalType": "string",
901
+ "name": "symbol_",
902
+ "type": "string"
903
+ },
904
+ {
905
+ "internalType": "string",
906
+ "name": "baseURI_",
907
+ "type": "string"
908
+ },
909
+ {
910
+ "internalType": "address",
911
+ "name": "platformAddress_",
912
+ "type": "address"
913
+ },
914
+ {
915
+ "internalType": "uint96",
916
+ "name": "platformCommissionPercentage_",
917
+ "type": "uint96"
918
+ },
919
+ {
920
+ "internalType": "address",
921
+ "name": "adminAddress_",
922
+ "type": "address"
923
+ }
924
+ ],
925
+ "name": "initialize",
926
+ "outputs": [],
927
+ "stateMutability": "nonpayable",
928
+ "type": "function"
929
+ },
930
+ {
931
+ "inputs": [
932
+ {
933
+ "internalType": "address",
934
+ "name": "to",
935
+ "type": "address"
936
+ },
937
+ {
938
+ "internalType": "uint256",
939
+ "name": "tokenId",
940
+ "type": "uint256"
941
+ },
942
+ {
943
+ "internalType": "uint256",
944
+ "name": "price",
945
+ "type": "uint256"
946
+ }
947
+ ],
948
+ "name": "initiateTransferWithRoyalty",
949
+ "outputs": [],
950
+ "stateMutability": "nonpayable",
951
+ "type": "function"
952
+ },
953
+ {
954
+ "inputs": [
955
+ {
956
+ "internalType": "address",
957
+ "name": "owner",
958
+ "type": "address"
959
+ },
960
+ {
961
+ "internalType": "address",
962
+ "name": "operator",
963
+ "type": "address"
964
+ }
965
+ ],
966
+ "name": "isApprovedForAll",
967
+ "outputs": [
968
+ {
969
+ "internalType": "bool",
970
+ "name": "",
971
+ "type": "bool"
972
+ }
973
+ ],
974
+ "stateMutability": "view",
975
+ "type": "function"
976
+ },
977
+ {
978
+ "inputs": [
979
+ {
980
+ "internalType": "uint256",
981
+ "name": "tokenId",
982
+ "type": "uint256"
983
+ }
984
+ ],
985
+ "name": "isRented",
986
+ "outputs": [
987
+ {
988
+ "internalType": "bool",
989
+ "name": "",
990
+ "type": "bool"
991
+ }
992
+ ],
993
+ "stateMutability": "view",
994
+ "type": "function"
995
+ },
996
+ {
997
+ "inputs": [
998
+ {
999
+ "internalType": "address",
1000
+ "name": "",
1001
+ "type": "address"
1002
+ },
1003
+ {
1004
+ "internalType": "address",
1005
+ "name": "",
1006
+ "type": "address"
1007
+ },
1008
+ {
1009
+ "internalType": "uint256",
1010
+ "name": "tokenId",
1011
+ "type": "uint256"
1012
+ },
1013
+ {
1014
+ "internalType": "uint256",
1015
+ "name": "price",
1016
+ "type": "uint256"
1017
+ }
1018
+ ],
1019
+ "name": "isTransferRoyaltyRequired",
1020
+ "outputs": [
1021
+ {
1022
+ "internalType": "bool",
1023
+ "name": "",
1024
+ "type": "bool"
1025
+ }
1026
+ ],
1027
+ "stateMutability": "view",
1028
+ "type": "function"
1029
+ },
1030
+ {
1031
+ "inputs": [
1032
+ {
1033
+ "internalType": "address",
1034
+ "name": "recipient",
1035
+ "type": "address"
1036
+ },
1037
+ {
1038
+ "internalType": "uint256",
1039
+ "name": "tokenPrice",
1040
+ "type": "uint256"
1041
+ },
1042
+ {
1043
+ "internalType": "string",
1044
+ "name": "uri",
1045
+ "type": "string"
1046
+ },
1047
+ {
1048
+ "components": [
1049
+ {
1050
+ "internalType": "address",
1051
+ "name": "receiver",
1052
+ "type": "address"
1053
+ },
1054
+ {
1055
+ "internalType": "uint96",
1056
+ "name": "feeNumerator",
1057
+ "type": "uint96"
1058
+ }
1059
+ ],
1060
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
1061
+ "name": "mintRoyalties",
1062
+ "type": "tuple[]"
1063
+ }
1064
+ ],
1065
+ "name": "mint",
1066
+ "outputs": [],
1067
+ "stateMutability": "nonpayable",
1068
+ "type": "function"
1069
+ },
1070
+ {
1071
+ "inputs": [
1072
+ {
1073
+ "internalType": "address",
1074
+ "name": "recipient",
1075
+ "type": "address"
1076
+ },
1077
+ {
1078
+ "internalType": "uint256",
1079
+ "name": "tokenPrice",
1080
+ "type": "uint256"
1081
+ },
1082
+ {
1083
+ "internalType": "string",
1084
+ "name": "uri",
1085
+ "type": "string"
1086
+ },
1087
+ {
1088
+ "components": [
1089
+ {
1090
+ "internalType": "address",
1091
+ "name": "receiver",
1092
+ "type": "address"
1093
+ },
1094
+ {
1095
+ "internalType": "uint96",
1096
+ "name": "feeNumerator",
1097
+ "type": "uint96"
1098
+ }
1099
+ ],
1100
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
1101
+ "name": "mintRoyalties",
1102
+ "type": "tuple[]"
1103
+ }
1104
+ ],
1105
+ "name": "mintFor",
1106
+ "outputs": [],
1107
+ "stateMutability": "nonpayable",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [],
1112
+ "name": "name",
1113
+ "outputs": [
1114
+ {
1115
+ "internalType": "string",
1116
+ "name": "",
1117
+ "type": "string"
1118
+ }
1119
+ ],
1120
+ "stateMutability": "view",
1121
+ "type": "function"
1122
+ },
1123
+ {
1124
+ "inputs": [
1125
+ {
1126
+ "internalType": "uint256",
1127
+ "name": "tokenId",
1128
+ "type": "uint256"
1129
+ }
1130
+ ],
1131
+ "name": "ownerOf",
1132
+ "outputs": [
1133
+ {
1134
+ "internalType": "address",
1135
+ "name": "",
1136
+ "type": "address"
1137
+ }
1138
+ ],
1139
+ "stateMutability": "view",
1140
+ "type": "function"
1141
+ },
1142
+ {
1143
+ "inputs": [],
1144
+ "name": "pause",
1145
+ "outputs": [],
1146
+ "stateMutability": "nonpayable",
1147
+ "type": "function"
1148
+ },
1149
+ {
1150
+ "inputs": [],
1151
+ "name": "paused",
1152
+ "outputs": [
1153
+ {
1154
+ "internalType": "bool",
1155
+ "name": "",
1156
+ "type": "bool"
1157
+ }
1158
+ ],
1159
+ "stateMutability": "view",
1160
+ "type": "function"
1161
+ },
1162
+ {
1163
+ "inputs": [
1164
+ {
1165
+ "internalType": "address",
1166
+ "name": "seller",
1167
+ "type": "address"
1168
+ },
1169
+ {
1170
+ "internalType": "uint256",
1171
+ "name": "tokenId",
1172
+ "type": "uint256"
1173
+ },
1174
+ {
1175
+ "internalType": "uint256",
1176
+ "name": "price",
1177
+ "type": "uint256"
1178
+ }
1179
+ ],
1180
+ "name": "payTransferRoyalty",
1181
+ "outputs": [],
1182
+ "stateMutability": "nonpayable",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [],
1187
+ "name": "paymentToken",
1188
+ "outputs": [
1189
+ {
1190
+ "internalType": "contract IERC20",
1191
+ "name": "",
1192
+ "type": "address"
1193
+ }
1194
+ ],
1195
+ "stateMutability": "view",
1196
+ "type": "function"
1197
+ },
1198
+ {
1199
+ "inputs": [],
1200
+ "name": "platformAddress",
1201
+ "outputs": [
1202
+ {
1203
+ "internalType": "address",
1204
+ "name": "",
1205
+ "type": "address"
1206
+ }
1207
+ ],
1208
+ "stateMutability": "view",
1209
+ "type": "function"
1210
+ },
1211
+ {
1212
+ "inputs": [],
1213
+ "name": "platformCommission",
1214
+ "outputs": [
1215
+ {
1216
+ "internalType": "uint96",
1217
+ "name": "",
1218
+ "type": "uint96"
1219
+ }
1220
+ ],
1221
+ "stateMutability": "view",
1222
+ "type": "function"
1223
+ },
1224
+ {
1225
+ "inputs": [],
1226
+ "name": "proxiableUUID",
1227
+ "outputs": [
1228
+ {
1229
+ "internalType": "bytes32",
1230
+ "name": "",
1231
+ "type": "bytes32"
1232
+ }
1233
+ ],
1234
+ "stateMutability": "view",
1235
+ "type": "function"
1236
+ },
1237
+ {
1238
+ "inputs": [
1239
+ {
1240
+ "internalType": "bytes32",
1241
+ "name": "role",
1242
+ "type": "bytes32"
1243
+ },
1244
+ {
1245
+ "internalType": "address",
1246
+ "name": "callerConfirmation",
1247
+ "type": "address"
1248
+ }
1249
+ ],
1250
+ "name": "renounceRole",
1251
+ "outputs": [],
1252
+ "stateMutability": "nonpayable",
1253
+ "type": "function"
1254
+ },
1255
+ {
1256
+ "inputs": [
1257
+ {
1258
+ "internalType": "uint256",
1259
+ "name": "tokenId",
1260
+ "type": "uint256"
1261
+ },
1262
+ {
1263
+ "internalType": "uint256",
1264
+ "name": "duration",
1265
+ "type": "uint256"
1266
+ },
1267
+ {
1268
+ "internalType": "uint256",
1269
+ "name": "rentalPrice",
1270
+ "type": "uint256"
1271
+ },
1272
+ {
1273
+ "internalType": "address",
1274
+ "name": "renter",
1275
+ "type": "address"
1276
+ }
1277
+ ],
1278
+ "name": "rentToken",
1279
+ "outputs": [],
1280
+ "stateMutability": "nonpayable",
1281
+ "type": "function"
1282
+ },
1283
+ {
1284
+ "inputs": [
1285
+ {
1286
+ "internalType": "bytes32",
1287
+ "name": "role",
1288
+ "type": "bytes32"
1289
+ },
1290
+ {
1291
+ "internalType": "address",
1292
+ "name": "account",
1293
+ "type": "address"
1294
+ }
1295
+ ],
1296
+ "name": "revokeRole",
1297
+ "outputs": [],
1298
+ "stateMutability": "nonpayable",
1299
+ "type": "function"
1300
+ },
1301
+ {
1302
+ "inputs": [
1303
+ {
1304
+ "internalType": "uint256",
1305
+ "name": "tokenId",
1306
+ "type": "uint256"
1307
+ },
1308
+ {
1309
+ "internalType": "uint256",
1310
+ "name": "price",
1311
+ "type": "uint256"
1312
+ }
1313
+ ],
1314
+ "name": "royaltyInfo",
1315
+ "outputs": [
1316
+ {
1317
+ "internalType": "address",
1318
+ "name": "receiver",
1319
+ "type": "address"
1320
+ },
1321
+ {
1322
+ "internalType": "uint256",
1323
+ "name": "royaltyAmount",
1324
+ "type": "uint256"
1325
+ }
1326
+ ],
1327
+ "stateMutability": "view",
1328
+ "type": "function"
1329
+ },
1330
+ {
1331
+ "inputs": [],
1332
+ "name": "royaltyPercentage",
1333
+ "outputs": [
1334
+ {
1335
+ "internalType": "uint96",
1336
+ "name": "",
1337
+ "type": "uint96"
1338
+ }
1339
+ ],
1340
+ "stateMutability": "view",
1341
+ "type": "function"
1342
+ },
1343
+ {
1344
+ "inputs": [
1345
+ {
1346
+ "internalType": "address",
1347
+ "name": "from",
1348
+ "type": "address"
1349
+ },
1350
+ {
1351
+ "internalType": "address",
1352
+ "name": "to",
1353
+ "type": "address"
1354
+ },
1355
+ {
1356
+ "internalType": "uint256",
1357
+ "name": "tokenId",
1358
+ "type": "uint256"
1359
+ }
1360
+ ],
1361
+ "name": "safeTransferFrom",
1362
+ "outputs": [],
1363
+ "stateMutability": "nonpayable",
1364
+ "type": "function"
1365
+ },
1366
+ {
1367
+ "inputs": [
1368
+ {
1369
+ "internalType": "address",
1370
+ "name": "from",
1371
+ "type": "address"
1372
+ },
1373
+ {
1374
+ "internalType": "address",
1375
+ "name": "to",
1376
+ "type": "address"
1377
+ },
1378
+ {
1379
+ "internalType": "uint256",
1380
+ "name": "tokenId",
1381
+ "type": "uint256"
1382
+ },
1383
+ {
1384
+ "internalType": "bytes",
1385
+ "name": "data",
1386
+ "type": "bytes"
1387
+ }
1388
+ ],
1389
+ "name": "safeTransferFrom",
1390
+ "outputs": [],
1391
+ "stateMutability": "nonpayable",
1392
+ "type": "function"
1393
+ },
1394
+ {
1395
+ "inputs": [
1396
+ {
1397
+ "internalType": "address",
1398
+ "name": "to",
1399
+ "type": "address"
1400
+ },
1401
+ {
1402
+ "internalType": "uint256",
1403
+ "name": "tokenId",
1404
+ "type": "uint256"
1405
+ },
1406
+ {
1407
+ "internalType": "address",
1408
+ "name": "seller",
1409
+ "type": "address"
1410
+ }
1411
+ ],
1412
+ "name": "sellToken",
1413
+ "outputs": [],
1414
+ "stateMutability": "nonpayable",
1415
+ "type": "function"
1416
+ },
1417
+ {
1418
+ "inputs": [
1419
+ {
1420
+ "internalType": "address",
1421
+ "name": "operator",
1422
+ "type": "address"
1423
+ },
1424
+ {
1425
+ "internalType": "bool",
1426
+ "name": "approved",
1427
+ "type": "bool"
1428
+ }
1429
+ ],
1430
+ "name": "setApprovalForAll",
1431
+ "outputs": [],
1432
+ "stateMutability": "nonpayable",
1433
+ "type": "function"
1434
+ },
1435
+ {
1436
+ "inputs": [
1437
+ {
1438
+ "internalType": "string",
1439
+ "name": "newBaseTokenURI",
1440
+ "type": "string"
1441
+ }
1442
+ ],
1443
+ "name": "setBaseURI",
1444
+ "outputs": [],
1445
+ "stateMutability": "nonpayable",
1446
+ "type": "function"
1447
+ },
1448
+ {
1449
+ "inputs": [
1450
+ {
1451
+ "components": [
1452
+ {
1453
+ "internalType": "address",
1454
+ "name": "receiver",
1455
+ "type": "address"
1456
+ },
1457
+ {
1458
+ "internalType": "uint96",
1459
+ "name": "feeNumerator",
1460
+ "type": "uint96"
1461
+ }
1462
+ ],
1463
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
1464
+ "name": "royalties",
1465
+ "type": "tuple[]"
1466
+ }
1467
+ ],
1468
+ "name": "setMintRoyalties",
1469
+ "outputs": [],
1470
+ "stateMutability": "nonpayable",
1471
+ "type": "function"
1472
+ },
1473
+ {
1474
+ "inputs": [
1475
+ {
1476
+ "internalType": "uint96",
1477
+ "name": "newPlatformCommissionPercentage",
1478
+ "type": "uint96"
1479
+ },
1480
+ {
1481
+ "internalType": "address",
1482
+ "name": "newPlatformAddress",
1483
+ "type": "address"
1484
+ }
1485
+ ],
1486
+ "name": "setPlatformCommission",
1487
+ "outputs": [],
1488
+ "stateMutability": "nonpayable",
1489
+ "type": "function"
1490
+ },
1491
+ {
1492
+ "inputs": [
1493
+ {
1494
+ "internalType": "uint256",
1495
+ "name": "tokenId",
1496
+ "type": "uint256"
1497
+ },
1498
+ {
1499
+ "internalType": "uint256",
1500
+ "name": "newPrice",
1501
+ "type": "uint256"
1502
+ }
1503
+ ],
1504
+ "name": "setPrice",
1505
+ "outputs": [],
1506
+ "stateMutability": "nonpayable",
1507
+ "type": "function"
1508
+ },
1509
+ {
1510
+ "inputs": [
1511
+ {
1512
+ "internalType": "uint96",
1513
+ "name": "percentage",
1514
+ "type": "uint96"
1515
+ }
1516
+ ],
1517
+ "name": "setRoyaltyPercentage",
1518
+ "outputs": [],
1519
+ "stateMutability": "nonpayable",
1520
+ "type": "function"
1521
+ },
1522
+ {
1523
+ "inputs": [
1524
+ {
1525
+ "internalType": "uint256",
1526
+ "name": "tokenId",
1527
+ "type": "uint256"
1528
+ },
1529
+ {
1530
+ "components": [
1531
+ {
1532
+ "internalType": "address",
1533
+ "name": "receiver",
1534
+ "type": "address"
1535
+ },
1536
+ {
1537
+ "internalType": "uint96",
1538
+ "name": "feeNumerator",
1539
+ "type": "uint96"
1540
+ }
1541
+ ],
1542
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
1543
+ "name": "royalties",
1544
+ "type": "tuple[]"
1545
+ }
1546
+ ],
1547
+ "name": "setTokenMintRoyalties",
1548
+ "outputs": [],
1549
+ "stateMutability": "nonpayable",
1550
+ "type": "function"
1551
+ },
1552
+ {
1553
+ "inputs": [
1554
+ {
1555
+ "internalType": "uint256",
1556
+ "name": "tokenId",
1557
+ "type": "uint256"
1558
+ },
1559
+ {
1560
+ "components": [
1561
+ {
1562
+ "internalType": "address",
1563
+ "name": "receiver",
1564
+ "type": "address"
1565
+ },
1566
+ {
1567
+ "internalType": "uint96",
1568
+ "name": "feeNumerator",
1569
+ "type": "uint96"
1570
+ }
1571
+ ],
1572
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
1573
+ "name": "royalties",
1574
+ "type": "tuple[]"
1575
+ }
1576
+ ],
1577
+ "name": "setTokenTransferRoyalties",
1578
+ "outputs": [],
1579
+ "stateMutability": "nonpayable",
1580
+ "type": "function"
1581
+ },
1582
+ {
1583
+ "inputs": [
1584
+ {
1585
+ "internalType": "uint256",
1586
+ "name": "tokenId",
1587
+ "type": "uint256"
1588
+ },
1589
+ {
1590
+ "internalType": "string",
1591
+ "name": "newTokenURI",
1592
+ "type": "string"
1593
+ }
1594
+ ],
1595
+ "name": "setTokenURI",
1596
+ "outputs": [],
1597
+ "stateMutability": "nonpayable",
1598
+ "type": "function"
1599
+ },
1600
+ {
1601
+ "inputs": [
1602
+ {
1603
+ "components": [
1604
+ {
1605
+ "internalType": "address",
1606
+ "name": "receiver",
1607
+ "type": "address"
1608
+ },
1609
+ {
1610
+ "internalType": "uint96",
1611
+ "name": "feeNumerator",
1612
+ "type": "uint96"
1613
+ }
1614
+ ],
1615
+ "internalType": "struct KamiNFTCore.RoyaltyData[]",
1616
+ "name": "royalties",
1617
+ "type": "tuple[]"
1618
+ }
1619
+ ],
1620
+ "name": "setTransferRoyalties",
1621
+ "outputs": [],
1622
+ "stateMutability": "nonpayable",
1623
+ "type": "function"
1624
+ },
1625
+ {
1626
+ "inputs": [
1627
+ {
1628
+ "internalType": "bytes4",
1629
+ "name": "interfaceId",
1630
+ "type": "bytes4"
1631
+ }
1632
+ ],
1633
+ "name": "supportsInterface",
1634
+ "outputs": [
1635
+ {
1636
+ "internalType": "bool",
1637
+ "name": "",
1638
+ "type": "bool"
1639
+ }
1640
+ ],
1641
+ "stateMutability": "view",
1642
+ "type": "function"
1643
+ },
1644
+ {
1645
+ "inputs": [],
1646
+ "name": "symbol",
1647
+ "outputs": [
1648
+ {
1649
+ "internalType": "string",
1650
+ "name": "",
1651
+ "type": "string"
1652
+ }
1653
+ ],
1654
+ "stateMutability": "view",
1655
+ "type": "function"
1656
+ },
1657
+ {
1658
+ "inputs": [
1659
+ {
1660
+ "internalType": "uint256",
1661
+ "name": "index",
1662
+ "type": "uint256"
1663
+ }
1664
+ ],
1665
+ "name": "tokenByIndex",
1666
+ "outputs": [
1667
+ {
1668
+ "internalType": "uint256",
1669
+ "name": "",
1670
+ "type": "uint256"
1671
+ }
1672
+ ],
1673
+ "stateMutability": "view",
1674
+ "type": "function"
1675
+ },
1676
+ {
1677
+ "inputs": [
1678
+ {
1679
+ "internalType": "address",
1680
+ "name": "owner",
1681
+ "type": "address"
1682
+ },
1683
+ {
1684
+ "internalType": "uint256",
1685
+ "name": "index",
1686
+ "type": "uint256"
1687
+ }
1688
+ ],
1689
+ "name": "tokenOfOwnerByIndex",
1690
+ "outputs": [
1691
+ {
1692
+ "internalType": "uint256",
1693
+ "name": "",
1694
+ "type": "uint256"
1695
+ }
1696
+ ],
1697
+ "stateMutability": "view",
1698
+ "type": "function"
1699
+ },
1700
+ {
1701
+ "inputs": [
1702
+ {
1703
+ "internalType": "uint256",
1704
+ "name": "",
1705
+ "type": "uint256"
1706
+ }
1707
+ ],
1708
+ "name": "tokenPrices",
1709
+ "outputs": [
1710
+ {
1711
+ "internalType": "uint256",
1712
+ "name": "",
1713
+ "type": "uint256"
1714
+ }
1715
+ ],
1716
+ "stateMutability": "view",
1717
+ "type": "function"
1718
+ },
1719
+ {
1720
+ "inputs": [
1721
+ {
1722
+ "internalType": "uint256",
1723
+ "name": "tokenId",
1724
+ "type": "uint256"
1725
+ }
1726
+ ],
1727
+ "name": "tokenURI",
1728
+ "outputs": [
1729
+ {
1730
+ "internalType": "string",
1731
+ "name": "",
1732
+ "type": "string"
1733
+ }
1734
+ ],
1735
+ "stateMutability": "view",
1736
+ "type": "function"
1737
+ },
1738
+ {
1739
+ "inputs": [
1740
+ {
1741
+ "internalType": "uint256",
1742
+ "name": "",
1743
+ "type": "uint256"
1744
+ }
1745
+ ],
1746
+ "name": "tokenURIs",
1747
+ "outputs": [
1748
+ {
1749
+ "internalType": "string",
1750
+ "name": "",
1751
+ "type": "string"
1752
+ }
1753
+ ],
1754
+ "stateMutability": "view",
1755
+ "type": "function"
1756
+ },
1757
+ {
1758
+ "inputs": [],
1759
+ "name": "totalSupply",
1760
+ "outputs": [
1761
+ {
1762
+ "internalType": "uint256",
1763
+ "name": "",
1764
+ "type": "uint256"
1765
+ }
1766
+ ],
1767
+ "stateMutability": "view",
1768
+ "type": "function"
1769
+ },
1770
+ {
1771
+ "inputs": [
1772
+ {
1773
+ "internalType": "address",
1774
+ "name": "from",
1775
+ "type": "address"
1776
+ },
1777
+ {
1778
+ "internalType": "address",
1779
+ "name": "to",
1780
+ "type": "address"
1781
+ },
1782
+ {
1783
+ "internalType": "uint256",
1784
+ "name": "tokenId",
1785
+ "type": "uint256"
1786
+ }
1787
+ ],
1788
+ "name": "transferFrom",
1789
+ "outputs": [],
1790
+ "stateMutability": "nonpayable",
1791
+ "type": "function"
1792
+ },
1793
+ {
1794
+ "inputs": [],
1795
+ "name": "unpause",
1796
+ "outputs": [],
1797
+ "stateMutability": "nonpayable",
1798
+ "type": "function"
1799
+ },
1800
+ {
1801
+ "inputs": [
1802
+ {
1803
+ "internalType": "address",
1804
+ "name": "newImplementation",
1805
+ "type": "address"
1806
+ },
1807
+ {
1808
+ "internalType": "bytes",
1809
+ "name": "data",
1810
+ "type": "bytes"
1811
+ }
1812
+ ],
1813
+ "name": "upgradeToAndCall",
1814
+ "outputs": [],
1815
+ "stateMutability": "payable",
1816
+ "type": "function"
1817
+ }
1818
+ ],
1819
+ "bytecode": "0x60a08060405234620000d157306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c16620000c257506001600160401b036002600160401b0319828216016200007c575b604051615bab9081620000d78239608051818181611aa40152611bbc0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880806200005c565b63f92ee8a960e01b8152600490fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146134325750806306fdde0314613393578063081812fc14613348578063095ea7b3146132615780630a0a35151461324057806310c551c5146131025780631169051d1461068a578063162094c414612fcd57806318160ddd14612fa25780631eae6ed714612d9e5780631fc7f7e914612d4f57806323b872dd14612d38578063248a9ca314612cfc57806327dc3fbd14612bf45780632a55205a14612bcd5780632f2ff15d14612b815780632f745c5914612aff5780633013ce2914612ad657806336568abe14612a8f57806336e678f81461230b5780633f4ba83a1461229457806342842e0e1461226657806342966c6814611eff578063463dace014611ee0578063492ae5a314611dae5780634f1ef28614611b7d5780634f558e7914611b5f5780634f6ccce714611afc57806352d1902d14611a9157806355a976321461167357806355f804b3146115825780635c975abb146115525780635e27a77514611527578063602481b6146113a55780636352211e14611375578063694e91b8146113475780636c8b703f1461131b5780636eddaebf14610f0757806370824c5c14610ede57806370a0823114610eb35780638456cb5914610e4c5780638a71bb2d14610e1657806391d1485414610dbc57806395d89b4114610ce657806397491d6f14610c5b5780639f6d68b014610bf4578063a217fddf14610bd8578063a22cb46514610b2f578063aa15d40f14610b07578063ad3cb1cc14610ac1578063b88d4fde14610a66578063b97c9f7714610a3d578063c87b56dd14610a06578063c8a9aabc146106af578063cf9122d41461068a578063d547741f1461063e578063dbe55e5614610608578063e58378bb146105df578063e5afe3e6146105b3578063e5f2e0cc14610468578063e985e9c51461041a578063f249fd1614610367578063f72c0d8b1461033e5763f7d97577146102df57600080fd5b34610339576102ed366136b4565b906102f66146bb565b6000818152600080516020615a9f8339815191526020526040902054610326906001600160a01b0316151561390c565b6000526037602052604060002055600080f35b600080fd5b3461033957600036600319011261033957602060405160008051602061593f8339815191528152f35b34610339576040366003190112610339576103806137bb565b610388613551565b906103916146bb565b6103a56001600160a01b03831615156152f5565b6103bc6107d06001600160601b0383161115615341565b30156103d5576103ce6103d3926142cd565b6147c5565b005b60405162461bcd60e51b815260206004820152601d60248201527f41636365737320636f6e74726f6c2063616e6e6f74206265207a65726f0000006044820152606490fd5b346103395760403660031901126103395761043361353b565b61044461043e613551565b9161425b565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346103395761047636613597565b91906104806146bb565b604051634f558e7960e01b815260048101839052602091908281602481305afa9081156105a75760009161057a575b5015610568576000805b85821061053557612710915003610523578260005260008051602061599f833981519152918281526104ee604060002061478d565b60005b8581106104fa57005b6001908560005284835261051d6040600020610517838a8861475c565b906147f7565b016104f1565b604051630569d67b60e21b8152600490fd5b600190610560906001600160601b0361055987610553878c8a61475c565b0161476c565b1690614780565b9101906104b9565b60405163677510db60e11b8152600490fd5b61059a9150833d85116105a0575b6105928183613736565b810190614744565b856104af565b503d610588565b6040513d6000823e3d90fd5b346103395760203660031901126103395760043560005260376020526020604060002054604051908152f35b346103395760003660031901126103395760206040516000805160206158bf8339815191528152f35b346103395760003660031901126103395760008051602061595f833981519152546040516001600160a01b039091168152602090f35b34610339576040366003190112610339576103d360043561065d613551565b9080600052600080516020615a5f833981519152602052610685600160406000200154614711565b615272565b34610339576103d361069b36613621565b946106aa9491949392936149ec565b613acc565b34610339576060366003190112610339576106c86149ec565b6106db6106d66004356142fb565b61390c565b6106e660043561468b565b6036546001600160a01b039081169190610703908216151561539b565b602435156109ae57604435156109575760043560005260008051602061589f83398151915260205261073f60ff6004604060002001541661548f565b60043560005260008051602061589f8339815191526020523360018060a01b03604060002054160361091657610779604435303385614a17565b6107ac60008051602061595f833981519152548060a01c90600091806108fc575b5081806108e2575b5050604435613abf565b906127106107d160018060601b0360008051602061591f833981519152541684613aac565b048061085a575b6107e29192613abf565b9081610849575b60043560005260008051602061589f83398151915260205260026040600020016108166024358254614780565b905560043560005260008051602061589f83398151915260205260036040600020016108456044358254614780565b9055005b61085292614a5e565b8080806107e9565b6108656004356153e4565b8051610872575b506107d8565b9160005b83518110156108d7576001906127106108a66001600160601b03602061089c858a6141cd565b5101511686613aac565b04806108b4575b5001610876565b6108d190838060a01b036108c884896141cd565b51511689614a5e565b876108ad565b5091506107e261086c565b6108f5916001600160a01b031686614a5e565b84816107a2565b61271091925061090e90604435613aac565b04908561079a565b60405162461bcd60e51b815260206004820152601960248201527821b0b63632b91036bab9ba103132903a3432903932b73a32b960391b6044820152606490fd5b60405162461bcd60e51b815260206004820152602960248201527f4164646974696f6e616c207061796d656e74206d75737420626520677265617460448201526806572207468616e20360bc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602a60248201527f4164646974696f6e616c206475726174696f6e206d75737420626520677265616044820152690746572207468616e20360b41b6064820152608490fd5b3461033957602036600319011261033957610a39610a256004356143c8565b604051918291602083526020830190613516565b0390f35b34610339576000366003190112610339576020604051600080516020615a3f8339815191528152f35b3461033957608036600319011261033957610a7f61353b565b610a87613551565b6064359190604435906001600160401b03841161033957610aaf6103d3943690600401613774565b92610abb838383613ebb565b33615501565b3461033957600036600319011261033957610a39604051610ae181613700565b60058152640352e302e360dc1b6020820152604051918291602083526020830190613516565b34610339576020366003190112610339576020610b25600435615764565b6040519015158152f35b3461033957604036600319011261033957610b4861353b565b6024359081151590818303610339576001600160a01b0316918215610bbf57610b9190610b743361425b565b8460005260205260406000209060ff801983541691151516179055565b6040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b604051630b61174360e31b815260048101849052602490fd5b3461033957600036600319011261033957602060405160008152f35b3461033957602036600319011261033957610c0d6137bb565b610c156146bb565b6001600160601b03166127108111610c495760008051602061591f83398151915280546001600160601b0319169091179055005b60405163c2a2a95d60e01b8152600490fd5b34610339576020366003190112610339576004356000818152600080516020615a9f8339815191526020526040902054610c9f906001600160a01b0316151561390c565b8060005260008051602061589f8339815191529081602052610ccb60ff6004604060002001541661548f565b600052602052600460406000200160ff198154169055600080f35b3461033957600036600319011261033957604051600080516020615b7f8339815191528054826000610d178361382d565b9283835260209460019186600182169182600014610d9a575050600114610d5b575b5050610d4792500383613736565b610a39604051928284938452830190613516565b85925060005281600020906000915b858310610d82575050610d4793508201018580610d39565b80548389018501528794508693909201918101610d6a565b9250935050610d4794915060ff191682840152151560051b8201018580610d39565b3461033957604036600319011261033957610dd5613551565b600435600052600080516020615a5f83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346103395760003660031901126103395760008051602061591f833981519152546040516001600160601b039091168152602090f35b3461033957600036600319011261033957610e656146bb565b610e6d6149ec565b600080516020615a7f833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610339576020366003190112610339576020610ed6610ed161353b565b614393565b604051908152f35b3461033957600036600319011261033957602060405160008051602061585f8339815191528152f35b346103395760803660031901126103395760246064604481356001600160a01b0381169081900361033957610f3a6149ec565b610f486106d66004356142fb565b80156112d957610f5960043561468b565b6001600160a01b03811691821461128d576036546001600160a01b031691610f8290151561539b565b84351561123c578235156111ee5760043560005260008051602061589f83398151915260205260ff600460406000200154166111b257610fc58335303385614a17565b610ff760008051602061595f833981519152548060a01c9060009180611199575b50818061117f575b50508435613abf565b60008051602061591f833981519152546127109061101e906001600160601b031683613aac565b0490816110f4575b956110dd949360049361103f611050946103d39a613abf565b90816110e3575b5050503542614780565b6040519261105d846136e5565b3384526020840191428352604085019081526060850191358252608085019260018452843560005260008051602061589f83398151915260205260406000209560018060a01b0390511660018060a01b031987541617865551600186015551600285015551600384015551151591019060ff801983541691151516179055565b35615165565b6110ec92614a5e565b878080611046565b6110ff6004356153e4565b805161110c575b50611026565b94919690959260005b865181101561116d576001906127106111456001600160601b03602061113b858d6141cd565b510151168c613aac565b0480611153575b5001611115565b61116790838060a01b036108c8848c6141cd565b8a61114c565b509096929591945091906110dd611106565b611192916001600160a01b031686614a5e565b8781610fee565b6127109192506111aa908735613aac565b049088610fe6565b60405162461bcd60e51b81526020600482015260178187015276151bdad95b881a5cc8185b1c9958591e481c995b9d1959604a1b818501528490fd5b60405162461bcd60e51b8152602060048201526023818701527f52656e74616c207072696365206d757374206265206772656174657220746861818501526206e20360ec1b81860152608490fd5b60405162461bcd60e51b8152602060048201526026818701527f52656e74616c206475726174696f6e206d757374206265206772656174657220818501526507468616e20360d41b81860152608490fd5b60405162461bcd60e51b8152602060048201526021818701527f4f776e65722063616e6e6f742072656e74207468656972206f776e20746f6b6581850152603760f91b81860152608490fd5b507f52656e7465722063616e6e6f74206265207a65726f20616464726573730000008391601d6040519362461bcd60e51b855260206004860152840152820152fd5b34610339576020366003190112610339576004356000526038602052610a39610a256040600020613867565b3461033957600036600319011261033957602060008051602061595f8339815191525460a01c604051908152f35b3461033957602036600319011261033957602061139360043561468b565b6040516001600160a01b039091168152f35b3461033957602080600319360112610339576004356001600160401b038111610339576113d6903690600401613567565b6113de6146bb565b6000805b82821061150157612710915003610523576000805160206159df83398151915290815460008355806114da575b5060005b81811061141c57005b61142781838661475c565b908354600160401b8110156114c457600181018086558110156114ae5784600052866000200182359060018060a01b0382168092036103395780546001600160a01b03191690911781556001926114a8919061148490890161476c565b9080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b01611413565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b826000526020600020908101905b8181106114f5575061140f565b600081556001016114e8565b60019061151f906001600160601b036105598861055387898b61475c565b9101906113e2565b3461033957602036600319011261033957610a39611546600435614e61565b604051918291826137d1565b3461033957600036600319011261033957602060ff600080516020615a7f83398151915254166040519015158152f35b3461033957602080600319360112610339576001600160401b03600435818111610339576115b4903690600401613774565b916115bd6146bb565b82519182116114c4576115da826115d560395461382d565b6139ed565b602090601f831160011461160e575081906115fe93600092611603575b5050613a99565b603955005b0151905083806115f7565b90601f1983169360396000526020600020926000905b86821061165b5750508360019510611642575b505050811b01603955005b015160001960f88460031b161c19169055828080611637565b80600185968294968601518155019501930190611624565b346103395760603660031901126103395761168c61353b565b6044356001600160a01b0381169003610339576116a76149ec565b6116b56106d66024356142fb565b6001600160a01b036044358116906116ce60243561468b565b1603611a50576001600160a01b0381161580611a0c576044356001600160a01b03161591826119c75760243560005260376020526040600020549283158061198c576036546001600160a01b03169361173b926117359161172f9015614ad7565b15614a93565b15614968565b60008051602061595f83398151915291825460a01c9260009380611974575b5061176785308585614a17565b6117718486613abf565b9380611957575b505060008051602061591f83398151915254612710906117a1906001600160601b031685613aac565b04806118d9575b6117b3919293613abf565b806118c5575b50506040519160208301602435815260018060601b03198060443560601b1660408601528360601b16605485015260488452608084019380851060018060401b038611176114c457611863946040525190206000527f6b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e16020526040600020600160ff19825416179055600080516020615abf83398151915260205260406000205560243590614b1a565b6001600160a01b0381168061188b57604051637e27328960e01b815260248035600483015290fd5b6044356001600160a01b03160361189e57005b6040516364283d7b60e01b81529081906118c19060243560443560048501613e98565b0390fd5b6118d29160443590614a5e565b82806117b9565b6118e4602435614e61565b80516118f1575b506117a8565b9260005b845181101561194c5760019061271061191b6001600160601b03602061089c858b6141cd565b0480611929575b50016118f5565b61194690838060a01b0361193d848a6141cd565b51511687614a5e565b88611922565b5092506117b36118eb565b905461196d91906001600160a01b031683614a5e565b8480611778565b6127109194506119849086613aac565b04928561175a565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881c1c9a58d9481b9bdd081cd95d606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f53656c6c65722063616e6e6f74206265207a65726f20616464726573730000006044820152606490fd5b60405162461bcd60e51b815260206004820152601c60248201527b42757965722063616e6e6f74206265207a65726f206164647265737360201b6044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527829b2b63632b91034b9903737ba103a37b5b2b71037bbb732b960391b6044820152606490fd5b34610339576000366003190112610339577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611aea57602060405160008051602061597f8339815191528152f35b60405163703e46dd60e11b8152600490fd5b34610339576020366003190112610339576004356000805160206159ff83398151915254811015611b4057611b3260209161436c565b90546040519160031b1c8152f35b6044906040519063295f44f760e21b8252600060048301526024820152fd5b34610339576020366003190112610339576020610b256004356142fb565b604036600319011261033957611b9161353b565b6024356001600160401b03811161033957611bb0903690600401613774565b906001600160a01b03907f00000000000000000000000000000000000000000000000000000000000000008216308114908115611d92575b50611aea57336000908152600080516020615b1f833981519152602090815260409091205490929060ff1615611d51578116916040516352d1902d60e01b81528181600481875afa60009181611d22575b50611c5757604051634c9c8ce360e01b815260048101859052602490fd5b92849360008051602061597f83398151915290818103611d0a5750833b15611cf15780546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115611cd7575060008381926103d395519101845af4611cd16154d1565b9161579b565b9250505034611ce257005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101839052602490fd5b60249060405190632a87526960e21b82526004820152fd5b9091508281813d8311611d4a575b611d3a8183613736565b8101031261033957519086611c39565b503d611d30565b60405162461bcd60e51b815260048101849052601960248201527821b0b63632b91034b9903737ba1030b7103ab833b930b232b960391b6044820152606490fd5b90508260008051602061597f8339815191525416141584611be8565b3461033957602080600319360112610339576004356001600160401b03811161033957611ddf903690600401613567565b611de76146bb565b6000805b828210611eba5761271091500361052357600080516020615aff8339815191529081546000835580611e93575b5060005b818110611e2557005b611e3081838661475c565b908354600160401b8110156114c457600181018086558110156114ae5784600052866000200182359060018060a01b0382168092036103395780546001600160a01b0319169091178155600192611e8d919061148490890161476c565b01611e1c565b826000526020600020908101905b818110611eae5750611e18565b60008155600101611ea1565b600190611ed8906001600160601b036105598861055387898b61475c565b910190611deb565b3461033957602036600319011261033957610a396115466004356153e4565b3461033957602080600319360112610339576004359081600052600080516020615a9f8339815191529081815260018060a01b0380604060002054161561222657611f55611f4c8561468b565b8216331461394f565b611f6033151561539b565b611f6984615764565b6121c2575b8360005282825260406000205416801592831590816121a3575b60008681529084526040812080546001600160a01b0319169055859083600080516020615a1f8339815191528280a483156121065750506000805160206159ff8339815191528054846000526000805160206158ff833981519152835280604060002055600160401b8110156114c45761200c81612025936001889401905561436c565b90919082549060031b91821b91600019901b1916179055565b6000805160206159ff833981519152908154600019918282019182116120f057856000526000805160206158ff8339815191529081815261206b6040600020549361436c565b90549060031b1c61207f8161200c8661436c565b600052526040600020558360005260006040812055815480156120da5701906120bb6120aa8361436c565b8154906000199060031b1b19169055565b556120c257005b60249060405190637e27328960e01b82526004820152fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b612111575b50612025565b61211a81614393565b8460005260008051602061581f8339815191528084526040600020549260005260008051602061583f8339815191528452604060002092828103612179575b50856000528352600060408120556000528152600060408120558361210b565b82600052838552604060002054816000528060406000205560005281855260406000205586612159565b6121ac86615625565b6121b583614294565b8054600019019055611f88565b8360005260008051602061589f83398151915282523381604060002054160315611f6e5760405162461bcd60e51b815260048101839052601860248201527721b0b73737ba10313ab937103932b73a32b2103a37b5b2b760411b6044820152606490fd5b60405162461bcd60e51b8152600481018390526018602482015277115490cdcc8c4e881d1bdad95b881b9bdd081b5a5b9d195960421b6044820152606490fd5b34610339576103d36122773661367f565b90604051926122858461371b565b60008452610abb838383613ebb565b34610339576000366003190112610339576122ad6146bb565b600080516020615a7f833981519152805460ff8116156122f95760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346103395760e03660031901126103395761232461353b565b6024356001600160401b03811161033957612343903690600401613774565b906044356001600160401b03811161033957612363903690600401613774565b916064356001600160401b03811161033957612383903690600401613774565b916084356001600160a01b03811690036103395760a4356001600160601b03811690036103395760c4356001600160a01b038116900361033957600080516020615b3f83398151915254916001600160401b0383161580612a81575b6001600160401b0384166001149081612a77575b159081612a6e575b50612a5c576001600160401b03198316600117600080516020615b3f83398151915255604083901c60ff1615612a33575b612434615735565b61243c615735565b612444615735565b61244c615735565b8051906001600160401b0382116114c45761247560008051602061587f8339815191525461382d565b601f81116129c5575b50602090601f831160011461293e576124a1929160009183612933575050613a99565b60008051602061587f833981519152555b83516001600160401b0381116114c4576124da600080516020615b7f8339815191525461382d565b601f81116128c5575b506020601f821160011461284157819061250893949596600092612836575050613a99565b600080516020615b7f833981519152555b612521615735565b612529615735565b612531615735565b6001600160a01b031680156127f1576084356001600160a01b031615806127b15760c4356001600160a01b031615612774576107d060a4356001600160601b031611918261273057603680546001600160a01b03191691909117905583516001600160401b0381116114c4576125ac816115d560395461382d565b6020601f82116001146126be57916125d8826125e2936125e8969560ff996000926126b3575050613a99565b6039555b156152f5565b15615341565b6125f36084356142cd565b6125fe60a4356147c5565b60008051602061591f83398151915280546001600160601b0319166103e817905561262a60c435614f2d565b5061263660c435614fbb565b50612642608435615047565b5061264e60c4356150df565b506001603a5560401c161561265f57005b60ff60401b19600080516020615b3f8339815191525416600080516020615b3f833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b0151905089806115f7565b601f198216956039600052816000209660005b81811061271857509260ff976125e8969593600193836125e297106126ff575b505050811b016039556125dc565b015160001960f88460031b161c191690558880806126f1565b838301518955600190980197602093840193016126d1565b60405162461bcd60e51b815260206004820152601c60248201527b0a0d8c2e8ccdee4da40c6dedadad2e6e6d2dedc40e8dede40d0d2ced60231b6044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c69642061646d696e206164647265737360581b6044820152606490fd5b60405162461bcd60e51b8152602060048201526018602482015277496e76616c696420706c6174666f726d206164647265737360401b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207061796d656e7420746f6b656e20616464726573730000006044820152606490fd5b0151905086806115f7565b600080516020615b7f833981519152600052806000209060005b601f19841681106128ad575060019394959683601f19811610612894575b505050811b01600080516020615b7f83398151915255612519565b015160001960f88460031b161c19169055858080612879565b9091602060018192858b01518155019301910161285b565b600080516020615b7f8339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81016020841061292c575b601f830160051c820181106129205750506124e3565b6000815560010161290a565b508061290a565b0151905087806115f7565b919060008051602061587f83398151915260005280600020906000935b601f19841685106129aa576001945083601f19811610612991575b505050811b0160008051602061587f833981519152556124b2565b015160001960f88460031b161c19169055868080612976565b8181015183556020948501946001909301929091019061295b565b60008051602061587f8339815191526000527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81601f840160051c810160208510612a2c575b601f830160051c82018110612a2057505061247e565b60008155600101612a0a565b5080612a0a565b6001600160481b031983166001600160401b0117600080516020615b3f8339815191525561242c565b60405163f92ee8a960e01b8152600490fd5b905015866123fb565b303b1591506123f3565b5060ff8360401c16156123df565b3461033957604036600319011261033957612aa8613551565b336001600160a01b03821603612ac4576103d390600435615272565b60405163334bd91960e11b8152600490fd5b34610339576000366003190112610339576036546040516001600160a01b039091168152602090f35b3461033957604036600319011261033957612b1861353b565b60243590612b2581614393565b821015612b655760018060a01b031660005260008051602061583f8339815191526020526040600020906000526020526020604060002054604051908152f35b6118c160405192839263295f44f760e21b8452600484016136ca565b34610339576040366003190112610339576103d3600435612ba0613551565b9080600052600080516020615a5f833981519152602052612bc8600160406000200154614711565b6151fd565b3461033957612be4612bde366136b4565b906141e1565b90610a39604051928392836136ca565b34610339576020806003193601126103395760043590612c126141a2565b50612c1b6141a2565b50604051634f558e7960e01b815260048101839052918183602481305afa9283156105a75760a093612c5591600091612cdf575b5061390c565b60005260008051602061589f8339815191528152604060002060405190612c7b826136e5565b600180851b038154169283835260018201549080840191825260028301549160408501928352608060ff6004600387015496606089019788520154169501941515855260405195865251908501525160408401525160608301525115156080820152f35b612cf69150843d86116105a0576105928183613736565b85612c4f565b3461033957602036600319011261033957600435600052600080516020615a5f8339815191526020526020600160406000200154604051908152f35b34610339576103d3612d493661367f565b91613ebb565b3461033957608036600319011261033957612d6861353b565b50612d71613551565b50612d7d604435614e61565b51151580612d93575b6020906040519015158152f35b506064351515612d86565b3461033957612dac366135ca565b81600093929352602092600080516020615a9f83398151915260205260018060a01b0391612de28360406000205416151561390c565b826036541694612df58486161515614a93565b612e00331515614ad7565b612e0b821515614968565b60009060005b6103e88110612f2f575b505015612ed357612e9492612e599160008051602061595f833981519152548060a01c9260009380612ebb575b50839081612ea7575b505050613abf565b60008051602061591f83398151915254612e8f9061271090612e84906001600160601b031684613aac565b0492868433926156ac565b613abf565b9081612e9c57005b6103d3923390614a17565b612eb39216338a614a17565b878281612e51565b612710919450612ecb9084613aac565b049289612e48565b60405162461bcd60e51b815260206004820152602e60248201527f5472616e73666572206e6f7420696e69746961746564206f7220726f79616c7460448201526d1e48185b1c9958591e481c185a5960921b6064820152608490fd5b612f398142613abf565b604051612f5e81612f508682019489338c886149be565b03601f198101835282613736565b519020600052600080516020615b5f83398151915282526040600020805460ff8116612f8e575050600101612e11565b60ff19169055506001915087905080612e1b565b346103395760003660031901126103395760206000805160206159ff83398151915254604051908152f35b34610339576040366003190112610339576004356001600160401b03602435818111610339576130019036906004016135f4565b9061300a6146bb565b83600052602093600080516020615a9f83398151915260205261303b60018060a01b0360406000205416151561390c565b6130468315156139a5565b600052603860205260406000209282116114c45761306e82613068855461382d565b85613a43565b600093601f831160011461309d575061084592938291600092613092575050613a99565b0135905084806115f7565b90601f19831694846000526020600020926000905b8782106130ea5750508360019596106130d0575b505050811b019055005b0135600019600384901b60f8161c191690558380806130c6565b806001849682949587013581550195019201906130b2565b3461033957613110366135ca565b9181600052602091600080516020615a9f833981519152835260018060a01b036131428160406000205416151561390c565b61314e611f4c8361468b565b3315613204578216156131c45790612f50613191600080516020615abf833981519152949361317e871515614968565b60405192839188878401964292886149be565b519020600052600080516020615b5f83398151915281526040600020600160ff1982541617905552604060002055600080f35b60405162461bcd60e51b8152600481018490526018602482015277526563697069656e742063616e6e6f74206265207a65726f60401b6044820152606490fd5b60405162461bcd60e51b81526004810185905260146024820152734f776e65722063616e6e6f74206265207a65726f60601b6044820152606490fd5b34610339576103d361325136613597565b9061325a6146bb565b3092614851565b346103395760403660031901126103395761327a61353b565b6024356132868161468b565b33151580613335575b80613315575b6132fd576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a46000908152600080516020615adf8339815191526020526040902080546001600160a01b0319169091179055005b60405163a9fbf51f60e01b8152336004820152602490fd5b5061331f8161425b565b3360005260205260ff6040600020541615613295565b506001600160a01b03811633141561328f565b34610339576020366003190112610339576004356133658161468b565b50600052600080516020615adf833981519152602052602060018060a01b0360406000205416604051908152f35b346103395760003660031901126103395760405160008051602061587f83398151915280548260006133c48361382d565b9283835260209460019186600182169182600014610d9a5750506001146133f3575050610d4792500383613736565b85925060005281600020906000915b85831061341a575050610d4793508201018580610d39565b80548389018501528794508693909201918101613402565b3461033957602036600319011261033957600435906001600160e01b031982168083036103395760209263780e9d6360e01b821480156134bd575b80928115613496575b50508115613486575b5015158152f35b613490915061465f565b8361347f565b91925063152a902d60e11b9091149081156134b5575b50908480613476565b9050846134ac565b506380ac58cd60e01b821480156134e3575b8061346d57506134de8161465f565b61346d565b50635b5e139f60e01b82146134cf565b60005b8381106135065750506000910152565b81810151838201526020016134f6565b9060209161352f815180928185528580860191016134f3565b601f01601f1916010190565b600435906001600160a01b038216820361033957565b602435906001600160a01b038216820361033957565b9181601f84011215610339578235916001600160401b038311610339576020808501948460061b01011161033957565b9060406003198301126103395760043591602435906001600160401b038211610339576135c691600401613567565b9091565b6060906003190112610339576004356001600160a01b038116810361033957906024359060443590565b9181601f84011215610339578235916001600160401b038311610339576020838186019501011161033957565b6080600319820112610339576004356001600160a01b03811681036103395791602435916001600160401b03916044358381116103395782613665916004016135f4565b93909392606435918211610339576135c691600401613567565b6060906003190112610339576001600160a01b0390600435828116810361033957916024359081168103610339579060443590565b6040906003190112610339576004359060243590565b6001600160a01b039091168152602081019190915260400190565b60a081019081106001600160401b038211176114c457604052565b604081019081106001600160401b038211176114c457604052565b602081019081106001600160401b038211176114c457604052565b601f909101601f19168101906001600160401b038211908210176114c457604052565b6001600160401b0381116114c457601f01601f191660200190565b81601f820112156103395780359061378b82613759565b926137996040519485613736565b8284526020838301011161033957816000926020809301838601378301015290565b600435906001600160601b038216820361033957565b60208082019080835283518092528060408094019401926000905b8382106137fb57505050505090565b845180516001600160a01b031687528301516001600160601b03168684015294850194938201936001909101906137ec565b90600182811c9216801561385d575b602083101461384757565b634e487b7160e01b600052602260045260246000fd5b91607f169161383c565b9060405191826000825461387a8161382d565b908184526020946001916001811690816000146138ea57506001146138ab575b5050506138a992500383613736565b565b600090815285812095935091905b8183106138d25750506138a9935082010138808061389a565b855488840185015294850194879450918301916138b9565b925050506138a994925060ff191682840152151560051b82010138808061389a565b1561391357565b60405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b1561395657565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e656044820152603960f91b6064820152608490fd5b156139ac57565b60405162461bcd60e51b8152602060048201526019602482015278546f6b656e205552492063616e6e6f7420626520656d70747960381b6044820152606490fd5b601f81116139f9575050565b60009060396000526020600020906020601f850160051c83019410613a39575b601f0160051c01915b828110613a2e57505050565b818155600101613a22565b9092508290613a19565b90601f8111613a5157505050565b6000916000526020600020906020601f850160051c83019410613a8f575b601f0160051c01915b828110613a8457505050565b818155600101613a78565b9092508290613a6f565b8160011b916000199060031b1c19161790565b818102929181159184041417156120f057565b919082039182116120f057565b919092939460018060a01b0390818416908115613e5457613aee8715156139a5565b603a5493600019978886146120f057600198898701603a556040948551613b148161371b565b6000998a825288613b258b83614b1a565b16613e3c573b613d28575b5050868852603760209081528589208a905560388152948820926001600160401b038311613d1457613b6c83613b66865461382d565b86613a43565b8891601f8411600114613ca95750613b8d9291899183613c9e575050613a99565b90555b85613ba0575b5050505050505050565b613bdc86613bb78998866036541630903390614a17565b60008051602061595f83398151915254908160a01c91889280613c6d575b5050613abf565b9781613c5a575b5050613bf38260365416936153e4565b93945b613c01575b80613b96565b8351851015613c555785948590612710613c316001600160601b0385613c27858b6141cd565b510151168b613aac565b0480613c40575b500194613bf6565b613c4f908561193d848a6141cd565b38613c38565b613bfb565b613c6691309186614851565b3880613be3565b612710919350613c7d9083613aac565b0491828015613bd557603654613c97928916908916614a5e565b3882613bd5565b0135905038806115f7565b848a52868a208c9493909291601f1985168c5b8a828210613cf35750508511613cdb575b50505050811b019055613b90565b60f88560031b161c1991013516905538808080613ccd565b9192939697859688849397013581550196019301908e969594939291613cbc565b634e487b7160e01b89526041600452602489fd5b97896020889f9d9b9997969594939e9c9a8f613d7591859b51948580948193630a85bd0160e11b998a84523360048501528460248501526044840152608060648401526084830190613516565b03925af1899181613df3575b50613db8578e8e613d906154d1565b8051929083613db1578151633250574960e11b815260048101849052602490fd5b6020849101fd5b63ffffffff9c9e97999b9d9293949596989a9c60e01b1603613ddc57503880613b30565b602490865190633250574960e11b82526004820152fd5b9091506020813d602011613e34575b81613e0f60209383613736565b81010312613e3057516001600160e01b031981168103613e30579038613d81565b8980fd5b3d9150613e02565b87516339e3563760e11b8152600481018c9052602490fd5b606460405162461bcd60e51b815260206004820152602060248201527f526563697069656e742063616e6e6f74206265207a65726f20616464726573736044820152fd5b6001600160a01b0391821681526020810192909252909116604082015260600190565b906001600160a01b038082169190821561418957600092858452600080516020615a9f83398151915293602085815260409484868420541696331515806140f1575b5087159081156140d2575b613f1183614294565b805460010190558a8552835286842080546001600160a01b03191686179055898589600080516020615a1f8339815191528780a41561404d576000805160206159ff83398151915280548a85526000805160206158ff833981519152845287852081905590600160401b8210156140395761200c828c926001613f969501905561436c565b838703613fcd575b5050505083168203613fb05750505050565b516364283d7b60e01b81529283926118c192919060048501613e98565b613fd690614393565b60001981019390841161402557829160008051602061581f8339815191529187945260008051602061583f83398151915281528383208584528152898484205589835252205538808080613f9e565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b85526041600452602485fd5b868414613f965761405d87614393565b89845260008051602061581f83398151915290818452878520549189865260008051602061583f8339815191528552888620928281036140b1575b508b865284528488812055845282528286812055613f96565b82875283865289872054818852808b89205587528186528987205538614098565b6140db8b615625565b6140e489614294565b8054600019019055613f08565b8061413c575b156141025738613efd565b868a8961411f576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b81529081906118c19033600484016136ca565b50338814801561416e575b806140f75750898452600080516020615adf833981519152835233868886205416146140f7565b506141788861425b565b338552835260ff8785205416614147565b604051633250574960e11b815260006004820152602490fd5b604051906141af826136e5565b60006080838281528260208201528260408201528260608201520152565b80518210156114ae5760209160051b010190565b60008051602061591f833981519152546001600160601b039392612710929161421a9184916142139190881690613aac565b0491614e61565b90815115801561423257505050509050600090600090565b6114ae57602061424b9201519460208601511690613aac565b92516001600160a01b0316920490565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b60008051602061595f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b604051906331a9108f60e11b82526004820152602081602481305afa908161432d575b5061432857600090565b600190565b6020813d602011614364575b8161434660209383613736565b8101031261033957516001600160a01b03811603610339573861431e565b3d9150614339565b6000805160206159ff83398151915280548210156114ae5760005260206000200190600090565b6001600160a01b038116156143af576143ab90614294565b5490565b6040516322718ad960e21b815260006004820152602490fd5b6000818152600080516020615a9f8339815191526020908152604080832054919392916001600160a01b03161561461c578282526038845261440b818320613867565b8051614614575082918072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8481811015614607575b508690506904ee2d6d415b85acef8160201b808710156145fb575b5050662386f26fc10000808610156145ee575b506305f5e100808610156145e1575b50612710808610156145d4575b5060648510156145c6575b600a809510156145be575b60019260018201956144bf6144aa88613759565b976144b78451998a613736565b808952613759565b958560218a8a0195601f19809a013688378a0101905b61458f575b5050505195869383603954916144ef8361382d565b926001811690811561456e575060011461452a575b5050505061451a829161452796519384916134f3565b0103908101835282613736565b90565b90919297939450603982528782205b838310614558575050506145279561451a918501019291953880614504565b80548a84018a0152899650918801918101614539565b60ff19168886015250505080151502840101915061451a6145273880614504565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049086826144d557506144da565b600101614496565b93606460029104940161448b565b6004919504940138614480565b6008919504940138614473565b6010919504940138614464565b90950494018538614451565b0494508290503880614436565b935050505090565b5162461bcd60e51b815260048101849052601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606490fd5b63ffffffff60e01b16637965db0b60e01b811490811561467d575090565b6301ffc9a760e01b14919050565b6000818152600080516020615a9f83398151915260205260409020546001600160a01b03169081156120c2575090565b3360009081526000805160206159bf83398151915260205260409020546000805160206158bf8339815191529060ff16156146f35750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600080516020615a5f83398151915260205260406000203360005260205260ff60406000205416156146f35750565b90816020910312610339575180151581036103395790565b91908110156114ae5760061b0190565b356001600160601b03811681036103395790565b919082018092116120f057565b80549060009060008155826147a157505050565b6000526020600020918201915b8281106147ba57505050565b8181556001016147ae565b60008051602061595f83398151915280546001600160a01b031660a09290921b6001600160a01b031916919091179055565b805490600160401b8210156114c457600182018082558210156114ae5760005260206000200181359160018060a01b0383168093036103395781546001600160a01b03191690921781556138a9916114849060200161476c565b9291909160409081518091634f558e7960e01b825286600483015281602460209485935afa90811561495d57600091614940575b501561492f576000805b848210614909576127109150036148f857846000526000805160206158df833981519152908181526148c38360002061478d565b60005b8481106148d65750505050505050565b600190876000528383526148f28560002061051783898b61475c565b016148c6565b8151630569d67b60e21b8152600490fd5b600190614927906001600160601b0361055986610553878b8d61475c565b91019061488f565b815163677510db60e11b8152600490fd5b6149579150823d84116105a0576105928183613736565b38614885565b83513d6000823e3d90fd5b1561496f57565b60405162461bcd60e51b815260206004820152602160248201527f53616c65207072696365206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608490fd5b90815260609190911b6001600160601b03191660208201526034810191909152605481019190915260740190565b60ff600080516020615a7f8339815191525416614a0557565b60405163d93c066560e01b8152600490fd5b6040516323b872dd60e01b60208201526001600160a01b0392831660248201529290911660448301526064808301939093529181526138a991614a59826136e5565b615650565b614a596138a99392614a8560405194859263a9059cbb60e01b6020850152602484016136ca565b03601f198101845283613736565b15614a9a57565b60405162461bcd60e51b815260206004820152601560248201527453656c6c65722063616e6e6f74206265207a65726f60581b6044820152606490fd5b15614ade57565b60405162461bcd60e51b815260206004820152601460248201527342757965722063616e6e6f74206265207a65726f60601b6044820152606490fd5b90600091818352600080516020615a9f8339815191529260209184835260018060a01b03604091818385205416968715928315614dc0575b8216928315918215614dab575b888752875284862080546001600160a01b0319168517905587848a600080516020615a1f8339815191528980a415614d26576000805160206159ff83398151915280548887526000805160206158ff833981519152885285872081905590600160401b821015614d125761200c828a926001614bdd9501905561436c565b15614c905750506000805160206159ff83398151915293845460001994858201918211614c7c5790829185949385526000805160206158ff83398151915290818152614c2c858720549361436c565b90549060031b1c614c408161200c8661436c565b8652528284205582528120558254908115614c6857500190614c646120aa8361436c565b5590565b634e487b7160e01b81526031600452602490fd5b634e487b7160e01b85526011600452602485fd5b818796929695939503614ca7575b50505050505090565b614cb090614393565b600019810195908611614cfe57835260008051602061583f83398151915282528383208584528252838320819055825260008051602061581f83398151915290522055388080808080614c9e565b634e487b7160e01b84526011600452602484fd5b634e487b7160e01b87526041600452602487fd5b878314614bdd57614d3688614393565b87865260008051602061581f8339815191529081885285872054918a885260008051602061583f833981519152895286882092828103614d8a575b5089885288528686812055865286528484812055614bdd565b828952838a5287892054818a5280898b20558952818a528789205538614d71565b614db484614294565b60018154019055614b5f565b614dc988615625565b614dd289614294565b8054600019019055614b52565b80549091906001600160401b0381116114c45760209260409360405194614e0c60208560051b0187613736565b83865260208601926000526020600020906000935b858510614e3057505050505050565b60018481928451614e4081613700565b8654848060a01b038116825260a01c83820152815201930194019391614e21565b6000908152602060008051602061599f8339815191528152604091604081208054614f2057506000805160206159df833981519152805492906001600160401b038411614f0c579160405194614ebc838660051b0187613736565b84865282860193825282822091935b858510614edb5750505050505090565b60018481928451614eeb81613700565b8654848060a01b038116825260a01c83820152815201930194019391614ecb565b634e487b7160e01b83526041600452602483fd5b9150506145279150614ddf565b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d6020526040812054909190600080516020615a5f8339815191529060ff16614fb6578280526020526040822081835260205260408220600160ff1982541617905533916000805160206157ff8339815191528180a4600190565b505090565b6001600160a01b031660008181526000805160206159bf83398151915260205260408120549091906000805160206158bf83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fad72024263e9623ebed8340901e66822b773634383aecc136f020cfef766318f602052604081205490919060008051602061585f83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b6001600160a01b03166000818152600080516020615b1f833981519152602052604081205490919060008051602061593f83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b6001600160a01b031660008181527f774afb6aa83f545ecfd605e50ebf9593d146cb1cda2b64545f77f86c1ab621d76020526040812054909190600080516020615a3f83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b90600091808352600080516020615a5f83398151915280602052604084209260018060a01b03169283855260205260ff60408520541615600014615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b90600091808352600080516020615a5f83398151915280602052604084209260018060a01b03169283855260205260ff60408520541660001461504157818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b156152fc57565b60405162461bcd60e51b815260206004820152601f60248201527f506c6174666f726d20616464726573732063616e6e6f74206265207a65726f006044820152606490fd5b1561534857565b60405162461bcd60e51b815260206004820152602560248201527f506c6174666f726d20636f6d6d697373696f6e2063616e6e6f74206578636565604482015264642032302560d81b6064820152608490fd5b156153a257565b60405162461bcd60e51b815260206004820152601a602482015279546f6b656e206f776e65722063616e6e6f74206265207a65726f60301b6044820152606490fd5b600090815260206000805160206158df8339815191528152604091604081208054614f205750600080516020615aff833981519152805492906001600160401b038411614f0c57916040519461543f838660051b0187613736565b84865282860193825282822091935b85851061545e5750505050505090565b6001848192845161546e81613700565b8654848060a01b038116825260a01c8382015281520193019401939161544e565b1561549657565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881a5cc81b9bdd081c995b9d1959606a1b6044820152606490fd5b3d156154fc573d906154e282613759565b916154f06040519384613736565b82523d6000602084013e565b606090565b9293823b615511575b5050505050565b6155559060018060a01b038094169560405194859481630a85bd0160e11b988988521660048701521660248501526044840152608060648401526084830190613516565b03906020816000938185885af1908290826155d5575b50506155a3578261557a6154d1565b805191908261559c57604051633250574960e11b815260048101839052602490fd5b6020915001fd5b6001600160e01b031916036155bd5750388080808061550a565b60249060405190633250574960e11b82526004820152fd5b909192506020813d60201161561d575b816155f260209383613736565b810103126156195751906001600160e01b031982168203615616575090388061556b565b80fd5b5080fd5b3d91506155e5565b6000908152600080516020615adf8339815191526020526040902080546001600160a01b0319169055565b906000602091828151910182855af1156105a7576000513d6156a357506001600160a01b0381163b155b6156815750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561567a565b6156b99094939194614e61565b9182511561572e5760005b8351811015615726576001906127106156f46001600160601b0360206156ea858a6141cd565b5101511689613aac565b0480615702575b50016156c4565b61572090838060a01b0361571684896141cd565b5151168686614a17565b386156fb565b505050509050565b5050509050565b60ff600080516020615b3f8339815191525460401c161561575257565b604051631afcd79f60e31b8152600490fd5b60005260008051602061589f833981519152602052604060002060ff6004820154169081615790575090565b600291500154421090565b906157c257508051156157b057602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806157f5575b6157d3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156157cb56fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed01645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00797343f8d6a29aafeb3aaf0910a8973e0081c60c2f6c1f775cd9f76ea348fc1e80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300efbf0e557c8acb6e3deb011ac697e5553b802e419ed4680395101c0ddc5e8723b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2892645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed031aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d288f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3de1159fbbeca73b2aca5752c42b257ca18171ae3b3d3bbf22c7938e3a961a0cb360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2893c32d4dc01d07c436ad8a6f9a20eadd61263c71fe16f6b5956005ba3b341f51dd1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2891645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef3b652633b3026fa70803ad50b58b0ae884cefe3497643f62c67c466f41a6e88d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793041aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2890ab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a8f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3df80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301a164736f6c6343000818000a",
1820
+ "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146134325750806306fdde0314613393578063081812fc14613348578063095ea7b3146132615780630a0a35151461324057806310c551c5146131025780631169051d1461068a578063162094c414612fcd57806318160ddd14612fa25780631eae6ed714612d9e5780631fc7f7e914612d4f57806323b872dd14612d38578063248a9ca314612cfc57806327dc3fbd14612bf45780632a55205a14612bcd5780632f2ff15d14612b815780632f745c5914612aff5780633013ce2914612ad657806336568abe14612a8f57806336e678f81461230b5780633f4ba83a1461229457806342842e0e1461226657806342966c6814611eff578063463dace014611ee0578063492ae5a314611dae5780634f1ef28614611b7d5780634f558e7914611b5f5780634f6ccce714611afc57806352d1902d14611a9157806355a976321461167357806355f804b3146115825780635c975abb146115525780635e27a77514611527578063602481b6146113a55780636352211e14611375578063694e91b8146113475780636c8b703f1461131b5780636eddaebf14610f0757806370824c5c14610ede57806370a0823114610eb35780638456cb5914610e4c5780638a71bb2d14610e1657806391d1485414610dbc57806395d89b4114610ce657806397491d6f14610c5b5780639f6d68b014610bf4578063a217fddf14610bd8578063a22cb46514610b2f578063aa15d40f14610b07578063ad3cb1cc14610ac1578063b88d4fde14610a66578063b97c9f7714610a3d578063c87b56dd14610a06578063c8a9aabc146106af578063cf9122d41461068a578063d547741f1461063e578063dbe55e5614610608578063e58378bb146105df578063e5afe3e6146105b3578063e5f2e0cc14610468578063e985e9c51461041a578063f249fd1614610367578063f72c0d8b1461033e5763f7d97577146102df57600080fd5b34610339576102ed366136b4565b906102f66146bb565b6000818152600080516020615a9f8339815191526020526040902054610326906001600160a01b0316151561390c565b6000526037602052604060002055600080f35b600080fd5b3461033957600036600319011261033957602060405160008051602061593f8339815191528152f35b34610339576040366003190112610339576103806137bb565b610388613551565b906103916146bb565b6103a56001600160a01b03831615156152f5565b6103bc6107d06001600160601b0383161115615341565b30156103d5576103ce6103d3926142cd565b6147c5565b005b60405162461bcd60e51b815260206004820152601d60248201527f41636365737320636f6e74726f6c2063616e6e6f74206265207a65726f0000006044820152606490fd5b346103395760403660031901126103395761043361353b565b61044461043e613551565b9161425b565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346103395761047636613597565b91906104806146bb565b604051634f558e7960e01b815260048101839052602091908281602481305afa9081156105a75760009161057a575b5015610568576000805b85821061053557612710915003610523578260005260008051602061599f833981519152918281526104ee604060002061478d565b60005b8581106104fa57005b6001908560005284835261051d6040600020610517838a8861475c565b906147f7565b016104f1565b604051630569d67b60e21b8152600490fd5b600190610560906001600160601b0361055987610553878c8a61475c565b0161476c565b1690614780565b9101906104b9565b60405163677510db60e11b8152600490fd5b61059a9150833d85116105a0575b6105928183613736565b810190614744565b856104af565b503d610588565b6040513d6000823e3d90fd5b346103395760203660031901126103395760043560005260376020526020604060002054604051908152f35b346103395760003660031901126103395760206040516000805160206158bf8339815191528152f35b346103395760003660031901126103395760008051602061595f833981519152546040516001600160a01b039091168152602090f35b34610339576040366003190112610339576103d360043561065d613551565b9080600052600080516020615a5f833981519152602052610685600160406000200154614711565b615272565b34610339576103d361069b36613621565b946106aa9491949392936149ec565b613acc565b34610339576060366003190112610339576106c86149ec565b6106db6106d66004356142fb565b61390c565b6106e660043561468b565b6036546001600160a01b039081169190610703908216151561539b565b602435156109ae57604435156109575760043560005260008051602061589f83398151915260205261073f60ff6004604060002001541661548f565b60043560005260008051602061589f8339815191526020523360018060a01b03604060002054160361091657610779604435303385614a17565b6107ac60008051602061595f833981519152548060a01c90600091806108fc575b5081806108e2575b5050604435613abf565b906127106107d160018060601b0360008051602061591f833981519152541684613aac565b048061085a575b6107e29192613abf565b9081610849575b60043560005260008051602061589f83398151915260205260026040600020016108166024358254614780565b905560043560005260008051602061589f83398151915260205260036040600020016108456044358254614780565b9055005b61085292614a5e565b8080806107e9565b6108656004356153e4565b8051610872575b506107d8565b9160005b83518110156108d7576001906127106108a66001600160601b03602061089c858a6141cd565b5101511686613aac565b04806108b4575b5001610876565b6108d190838060a01b036108c884896141cd565b51511689614a5e565b876108ad565b5091506107e261086c565b6108f5916001600160a01b031686614a5e565b84816107a2565b61271091925061090e90604435613aac565b04908561079a565b60405162461bcd60e51b815260206004820152601960248201527821b0b63632b91036bab9ba103132903a3432903932b73a32b960391b6044820152606490fd5b60405162461bcd60e51b815260206004820152602960248201527f4164646974696f6e616c207061796d656e74206d75737420626520677265617460448201526806572207468616e20360bc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602a60248201527f4164646974696f6e616c206475726174696f6e206d75737420626520677265616044820152690746572207468616e20360b41b6064820152608490fd5b3461033957602036600319011261033957610a39610a256004356143c8565b604051918291602083526020830190613516565b0390f35b34610339576000366003190112610339576020604051600080516020615a3f8339815191528152f35b3461033957608036600319011261033957610a7f61353b565b610a87613551565b6064359190604435906001600160401b03841161033957610aaf6103d3943690600401613774565b92610abb838383613ebb565b33615501565b3461033957600036600319011261033957610a39604051610ae181613700565b60058152640352e302e360dc1b6020820152604051918291602083526020830190613516565b34610339576020366003190112610339576020610b25600435615764565b6040519015158152f35b3461033957604036600319011261033957610b4861353b565b6024359081151590818303610339576001600160a01b0316918215610bbf57610b9190610b743361425b565b8460005260205260406000209060ff801983541691151516179055565b6040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b604051630b61174360e31b815260048101849052602490fd5b3461033957600036600319011261033957602060405160008152f35b3461033957602036600319011261033957610c0d6137bb565b610c156146bb565b6001600160601b03166127108111610c495760008051602061591f83398151915280546001600160601b0319169091179055005b60405163c2a2a95d60e01b8152600490fd5b34610339576020366003190112610339576004356000818152600080516020615a9f8339815191526020526040902054610c9f906001600160a01b0316151561390c565b8060005260008051602061589f8339815191529081602052610ccb60ff6004604060002001541661548f565b600052602052600460406000200160ff198154169055600080f35b3461033957600036600319011261033957604051600080516020615b7f8339815191528054826000610d178361382d565b9283835260209460019186600182169182600014610d9a575050600114610d5b575b5050610d4792500383613736565b610a39604051928284938452830190613516565b85925060005281600020906000915b858310610d82575050610d4793508201018580610d39565b80548389018501528794508693909201918101610d6a565b9250935050610d4794915060ff191682840152151560051b8201018580610d39565b3461033957604036600319011261033957610dd5613551565b600435600052600080516020615a5f83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346103395760003660031901126103395760008051602061591f833981519152546040516001600160601b039091168152602090f35b3461033957600036600319011261033957610e656146bb565b610e6d6149ec565b600080516020615a7f833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610339576020366003190112610339576020610ed6610ed161353b565b614393565b604051908152f35b3461033957600036600319011261033957602060405160008051602061585f8339815191528152f35b346103395760803660031901126103395760246064604481356001600160a01b0381169081900361033957610f3a6149ec565b610f486106d66004356142fb565b80156112d957610f5960043561468b565b6001600160a01b03811691821461128d576036546001600160a01b031691610f8290151561539b565b84351561123c578235156111ee5760043560005260008051602061589f83398151915260205260ff600460406000200154166111b257610fc58335303385614a17565b610ff760008051602061595f833981519152548060a01c9060009180611199575b50818061117f575b50508435613abf565b60008051602061591f833981519152546127109061101e906001600160601b031683613aac565b0490816110f4575b956110dd949360049361103f611050946103d39a613abf565b90816110e3575b5050503542614780565b6040519261105d846136e5565b3384526020840191428352604085019081526060850191358252608085019260018452843560005260008051602061589f83398151915260205260406000209560018060a01b0390511660018060a01b031987541617865551600186015551600285015551600384015551151591019060ff801983541691151516179055565b35615165565b6110ec92614a5e565b878080611046565b6110ff6004356153e4565b805161110c575b50611026565b94919690959260005b865181101561116d576001906127106111456001600160601b03602061113b858d6141cd565b510151168c613aac565b0480611153575b5001611115565b61116790838060a01b036108c8848c6141cd565b8a61114c565b509096929591945091906110dd611106565b611192916001600160a01b031686614a5e565b8781610fee565b6127109192506111aa908735613aac565b049088610fe6565b60405162461bcd60e51b81526020600482015260178187015276151bdad95b881a5cc8185b1c9958591e481c995b9d1959604a1b818501528490fd5b60405162461bcd60e51b8152602060048201526023818701527f52656e74616c207072696365206d757374206265206772656174657220746861818501526206e20360ec1b81860152608490fd5b60405162461bcd60e51b8152602060048201526026818701527f52656e74616c206475726174696f6e206d757374206265206772656174657220818501526507468616e20360d41b81860152608490fd5b60405162461bcd60e51b8152602060048201526021818701527f4f776e65722063616e6e6f742072656e74207468656972206f776e20746f6b6581850152603760f91b81860152608490fd5b507f52656e7465722063616e6e6f74206265207a65726f20616464726573730000008391601d6040519362461bcd60e51b855260206004860152840152820152fd5b34610339576020366003190112610339576004356000526038602052610a39610a256040600020613867565b3461033957600036600319011261033957602060008051602061595f8339815191525460a01c604051908152f35b3461033957602036600319011261033957602061139360043561468b565b6040516001600160a01b039091168152f35b3461033957602080600319360112610339576004356001600160401b038111610339576113d6903690600401613567565b6113de6146bb565b6000805b82821061150157612710915003610523576000805160206159df83398151915290815460008355806114da575b5060005b81811061141c57005b61142781838661475c565b908354600160401b8110156114c457600181018086558110156114ae5784600052866000200182359060018060a01b0382168092036103395780546001600160a01b03191690911781556001926114a8919061148490890161476c565b9080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b01611413565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b826000526020600020908101905b8181106114f5575061140f565b600081556001016114e8565b60019061151f906001600160601b036105598861055387898b61475c565b9101906113e2565b3461033957602036600319011261033957610a39611546600435614e61565b604051918291826137d1565b3461033957600036600319011261033957602060ff600080516020615a7f83398151915254166040519015158152f35b3461033957602080600319360112610339576001600160401b03600435818111610339576115b4903690600401613774565b916115bd6146bb565b82519182116114c4576115da826115d560395461382d565b6139ed565b602090601f831160011461160e575081906115fe93600092611603575b5050613a99565b603955005b0151905083806115f7565b90601f1983169360396000526020600020926000905b86821061165b5750508360019510611642575b505050811b01603955005b015160001960f88460031b161c19169055828080611637565b80600185968294968601518155019501930190611624565b346103395760603660031901126103395761168c61353b565b6044356001600160a01b0381169003610339576116a76149ec565b6116b56106d66024356142fb565b6001600160a01b036044358116906116ce60243561468b565b1603611a50576001600160a01b0381161580611a0c576044356001600160a01b03161591826119c75760243560005260376020526040600020549283158061198c576036546001600160a01b03169361173b926117359161172f9015614ad7565b15614a93565b15614968565b60008051602061595f83398151915291825460a01c9260009380611974575b5061176785308585614a17565b6117718486613abf565b9380611957575b505060008051602061591f83398151915254612710906117a1906001600160601b031685613aac565b04806118d9575b6117b3919293613abf565b806118c5575b50506040519160208301602435815260018060601b03198060443560601b1660408601528360601b16605485015260488452608084019380851060018060401b038611176114c457611863946040525190206000527f6b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e16020526040600020600160ff19825416179055600080516020615abf83398151915260205260406000205560243590614b1a565b6001600160a01b0381168061188b57604051637e27328960e01b815260248035600483015290fd5b6044356001600160a01b03160361189e57005b6040516364283d7b60e01b81529081906118c19060243560443560048501613e98565b0390fd5b6118d29160443590614a5e565b82806117b9565b6118e4602435614e61565b80516118f1575b506117a8565b9260005b845181101561194c5760019061271061191b6001600160601b03602061089c858b6141cd565b0480611929575b50016118f5565b61194690838060a01b0361193d848a6141cd565b51511687614a5e565b88611922565b5092506117b36118eb565b905461196d91906001600160a01b031683614a5e565b8480611778565b6127109194506119849086613aac565b04928561175a565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881c1c9a58d9481b9bdd081cd95d606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f53656c6c65722063616e6e6f74206265207a65726f20616464726573730000006044820152606490fd5b60405162461bcd60e51b815260206004820152601c60248201527b42757965722063616e6e6f74206265207a65726f206164647265737360201b6044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527829b2b63632b91034b9903737ba103a37b5b2b71037bbb732b960391b6044820152606490fd5b34610339576000366003190112610339577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611aea57602060405160008051602061597f8339815191528152f35b60405163703e46dd60e11b8152600490fd5b34610339576020366003190112610339576004356000805160206159ff83398151915254811015611b4057611b3260209161436c565b90546040519160031b1c8152f35b6044906040519063295f44f760e21b8252600060048301526024820152fd5b34610339576020366003190112610339576020610b256004356142fb565b604036600319011261033957611b9161353b565b6024356001600160401b03811161033957611bb0903690600401613774565b906001600160a01b03907f00000000000000000000000000000000000000000000000000000000000000008216308114908115611d92575b50611aea57336000908152600080516020615b1f833981519152602090815260409091205490929060ff1615611d51578116916040516352d1902d60e01b81528181600481875afa60009181611d22575b50611c5757604051634c9c8ce360e01b815260048101859052602490fd5b92849360008051602061597f83398151915290818103611d0a5750833b15611cf15780546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115611cd7575060008381926103d395519101845af4611cd16154d1565b9161579b565b9250505034611ce257005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101839052602490fd5b60249060405190632a87526960e21b82526004820152fd5b9091508281813d8311611d4a575b611d3a8183613736565b8101031261033957519086611c39565b503d611d30565b60405162461bcd60e51b815260048101849052601960248201527821b0b63632b91034b9903737ba1030b7103ab833b930b232b960391b6044820152606490fd5b90508260008051602061597f8339815191525416141584611be8565b3461033957602080600319360112610339576004356001600160401b03811161033957611ddf903690600401613567565b611de76146bb565b6000805b828210611eba5761271091500361052357600080516020615aff8339815191529081546000835580611e93575b5060005b818110611e2557005b611e3081838661475c565b908354600160401b8110156114c457600181018086558110156114ae5784600052866000200182359060018060a01b0382168092036103395780546001600160a01b0319169091178155600192611e8d919061148490890161476c565b01611e1c565b826000526020600020908101905b818110611eae5750611e18565b60008155600101611ea1565b600190611ed8906001600160601b036105598861055387898b61475c565b910190611deb565b3461033957602036600319011261033957610a396115466004356153e4565b3461033957602080600319360112610339576004359081600052600080516020615a9f8339815191529081815260018060a01b0380604060002054161561222657611f55611f4c8561468b565b8216331461394f565b611f6033151561539b565b611f6984615764565b6121c2575b8360005282825260406000205416801592831590816121a3575b60008681529084526040812080546001600160a01b0319169055859083600080516020615a1f8339815191528280a483156121065750506000805160206159ff8339815191528054846000526000805160206158ff833981519152835280604060002055600160401b8110156114c45761200c81612025936001889401905561436c565b90919082549060031b91821b91600019901b1916179055565b6000805160206159ff833981519152908154600019918282019182116120f057856000526000805160206158ff8339815191529081815261206b6040600020549361436c565b90549060031b1c61207f8161200c8661436c565b600052526040600020558360005260006040812055815480156120da5701906120bb6120aa8361436c565b8154906000199060031b1b19169055565b556120c257005b60249060405190637e27328960e01b82526004820152fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b612111575b50612025565b61211a81614393565b8460005260008051602061581f8339815191528084526040600020549260005260008051602061583f8339815191528452604060002092828103612179575b50856000528352600060408120556000528152600060408120558361210b565b82600052838552604060002054816000528060406000205560005281855260406000205586612159565b6121ac86615625565b6121b583614294565b8054600019019055611f88565b8360005260008051602061589f83398151915282523381604060002054160315611f6e5760405162461bcd60e51b815260048101839052601860248201527721b0b73737ba10313ab937103932b73a32b2103a37b5b2b760411b6044820152606490fd5b60405162461bcd60e51b8152600481018390526018602482015277115490cdcc8c4e881d1bdad95b881b9bdd081b5a5b9d195960421b6044820152606490fd5b34610339576103d36122773661367f565b90604051926122858461371b565b60008452610abb838383613ebb565b34610339576000366003190112610339576122ad6146bb565b600080516020615a7f833981519152805460ff8116156122f95760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346103395760e03660031901126103395761232461353b565b6024356001600160401b03811161033957612343903690600401613774565b906044356001600160401b03811161033957612363903690600401613774565b916064356001600160401b03811161033957612383903690600401613774565b916084356001600160a01b03811690036103395760a4356001600160601b03811690036103395760c4356001600160a01b038116900361033957600080516020615b3f83398151915254916001600160401b0383161580612a81575b6001600160401b0384166001149081612a77575b159081612a6e575b50612a5c576001600160401b03198316600117600080516020615b3f83398151915255604083901c60ff1615612a33575b612434615735565b61243c615735565b612444615735565b61244c615735565b8051906001600160401b0382116114c45761247560008051602061587f8339815191525461382d565b601f81116129c5575b50602090601f831160011461293e576124a1929160009183612933575050613a99565b60008051602061587f833981519152555b83516001600160401b0381116114c4576124da600080516020615b7f8339815191525461382d565b601f81116128c5575b506020601f821160011461284157819061250893949596600092612836575050613a99565b600080516020615b7f833981519152555b612521615735565b612529615735565b612531615735565b6001600160a01b031680156127f1576084356001600160a01b031615806127b15760c4356001600160a01b031615612774576107d060a4356001600160601b031611918261273057603680546001600160a01b03191691909117905583516001600160401b0381116114c4576125ac816115d560395461382d565b6020601f82116001146126be57916125d8826125e2936125e8969560ff996000926126b3575050613a99565b6039555b156152f5565b15615341565b6125f36084356142cd565b6125fe60a4356147c5565b60008051602061591f83398151915280546001600160601b0319166103e817905561262a60c435614f2d565b5061263660c435614fbb565b50612642608435615047565b5061264e60c4356150df565b506001603a5560401c161561265f57005b60ff60401b19600080516020615b3f8339815191525416600080516020615b3f833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b0151905089806115f7565b601f198216956039600052816000209660005b81811061271857509260ff976125e8969593600193836125e297106126ff575b505050811b016039556125dc565b015160001960f88460031b161c191690558880806126f1565b838301518955600190980197602093840193016126d1565b60405162461bcd60e51b815260206004820152601c60248201527b0a0d8c2e8ccdee4da40c6dedadad2e6e6d2dedc40e8dede40d0d2ced60231b6044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c69642061646d696e206164647265737360581b6044820152606490fd5b60405162461bcd60e51b8152602060048201526018602482015277496e76616c696420706c6174666f726d206164647265737360401b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207061796d656e7420746f6b656e20616464726573730000006044820152606490fd5b0151905086806115f7565b600080516020615b7f833981519152600052806000209060005b601f19841681106128ad575060019394959683601f19811610612894575b505050811b01600080516020615b7f83398151915255612519565b015160001960f88460031b161c19169055858080612879565b9091602060018192858b01518155019301910161285b565b600080516020615b7f8339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81016020841061292c575b601f830160051c820181106129205750506124e3565b6000815560010161290a565b508061290a565b0151905087806115f7565b919060008051602061587f83398151915260005280600020906000935b601f19841685106129aa576001945083601f19811610612991575b505050811b0160008051602061587f833981519152556124b2565b015160001960f88460031b161c19169055868080612976565b8181015183556020948501946001909301929091019061295b565b60008051602061587f8339815191526000527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81601f840160051c810160208510612a2c575b601f830160051c82018110612a2057505061247e565b60008155600101612a0a565b5080612a0a565b6001600160481b031983166001600160401b0117600080516020615b3f8339815191525561242c565b60405163f92ee8a960e01b8152600490fd5b905015866123fb565b303b1591506123f3565b5060ff8360401c16156123df565b3461033957604036600319011261033957612aa8613551565b336001600160a01b03821603612ac4576103d390600435615272565b60405163334bd91960e11b8152600490fd5b34610339576000366003190112610339576036546040516001600160a01b039091168152602090f35b3461033957604036600319011261033957612b1861353b565b60243590612b2581614393565b821015612b655760018060a01b031660005260008051602061583f8339815191526020526040600020906000526020526020604060002054604051908152f35b6118c160405192839263295f44f760e21b8452600484016136ca565b34610339576040366003190112610339576103d3600435612ba0613551565b9080600052600080516020615a5f833981519152602052612bc8600160406000200154614711565b6151fd565b3461033957612be4612bde366136b4565b906141e1565b90610a39604051928392836136ca565b34610339576020806003193601126103395760043590612c126141a2565b50612c1b6141a2565b50604051634f558e7960e01b815260048101839052918183602481305afa9283156105a75760a093612c5591600091612cdf575b5061390c565b60005260008051602061589f8339815191528152604060002060405190612c7b826136e5565b600180851b038154169283835260018201549080840191825260028301549160408501928352608060ff6004600387015496606089019788520154169501941515855260405195865251908501525160408401525160608301525115156080820152f35b612cf69150843d86116105a0576105928183613736565b85612c4f565b3461033957602036600319011261033957600435600052600080516020615a5f8339815191526020526020600160406000200154604051908152f35b34610339576103d3612d493661367f565b91613ebb565b3461033957608036600319011261033957612d6861353b565b50612d71613551565b50612d7d604435614e61565b51151580612d93575b6020906040519015158152f35b506064351515612d86565b3461033957612dac366135ca565b81600093929352602092600080516020615a9f83398151915260205260018060a01b0391612de28360406000205416151561390c565b826036541694612df58486161515614a93565b612e00331515614ad7565b612e0b821515614968565b60009060005b6103e88110612f2f575b505015612ed357612e9492612e599160008051602061595f833981519152548060a01c9260009380612ebb575b50839081612ea7575b505050613abf565b60008051602061591f83398151915254612e8f9061271090612e84906001600160601b031684613aac565b0492868433926156ac565b613abf565b9081612e9c57005b6103d3923390614a17565b612eb39216338a614a17565b878281612e51565b612710919450612ecb9084613aac565b049289612e48565b60405162461bcd60e51b815260206004820152602e60248201527f5472616e73666572206e6f7420696e69746961746564206f7220726f79616c7460448201526d1e48185b1c9958591e481c185a5960921b6064820152608490fd5b612f398142613abf565b604051612f5e81612f508682019489338c886149be565b03601f198101835282613736565b519020600052600080516020615b5f83398151915282526040600020805460ff8116612f8e575050600101612e11565b60ff19169055506001915087905080612e1b565b346103395760003660031901126103395760206000805160206159ff83398151915254604051908152f35b34610339576040366003190112610339576004356001600160401b03602435818111610339576130019036906004016135f4565b9061300a6146bb565b83600052602093600080516020615a9f83398151915260205261303b60018060a01b0360406000205416151561390c565b6130468315156139a5565b600052603860205260406000209282116114c45761306e82613068855461382d565b85613a43565b600093601f831160011461309d575061084592938291600092613092575050613a99565b0135905084806115f7565b90601f19831694846000526020600020926000905b8782106130ea5750508360019596106130d0575b505050811b019055005b0135600019600384901b60f8161c191690558380806130c6565b806001849682949587013581550195019201906130b2565b3461033957613110366135ca565b9181600052602091600080516020615a9f833981519152835260018060a01b036131428160406000205416151561390c565b61314e611f4c8361468b565b3315613204578216156131c45790612f50613191600080516020615abf833981519152949361317e871515614968565b60405192839188878401964292886149be565b519020600052600080516020615b5f83398151915281526040600020600160ff1982541617905552604060002055600080f35b60405162461bcd60e51b8152600481018490526018602482015277526563697069656e742063616e6e6f74206265207a65726f60401b6044820152606490fd5b60405162461bcd60e51b81526004810185905260146024820152734f776e65722063616e6e6f74206265207a65726f60601b6044820152606490fd5b34610339576103d361325136613597565b9061325a6146bb565b3092614851565b346103395760403660031901126103395761327a61353b565b6024356132868161468b565b33151580613335575b80613315575b6132fd576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a46000908152600080516020615adf8339815191526020526040902080546001600160a01b0319169091179055005b60405163a9fbf51f60e01b8152336004820152602490fd5b5061331f8161425b565b3360005260205260ff6040600020541615613295565b506001600160a01b03811633141561328f565b34610339576020366003190112610339576004356133658161468b565b50600052600080516020615adf833981519152602052602060018060a01b0360406000205416604051908152f35b346103395760003660031901126103395760405160008051602061587f83398151915280548260006133c48361382d565b9283835260209460019186600182169182600014610d9a5750506001146133f3575050610d4792500383613736565b85925060005281600020906000915b85831061341a575050610d4793508201018580610d39565b80548389018501528794508693909201918101613402565b3461033957602036600319011261033957600435906001600160e01b031982168083036103395760209263780e9d6360e01b821480156134bd575b80928115613496575b50508115613486575b5015158152f35b613490915061465f565b8361347f565b91925063152a902d60e11b9091149081156134b5575b50908480613476565b9050846134ac565b506380ac58cd60e01b821480156134e3575b8061346d57506134de8161465f565b61346d565b50635b5e139f60e01b82146134cf565b60005b8381106135065750506000910152565b81810151838201526020016134f6565b9060209161352f815180928185528580860191016134f3565b601f01601f1916010190565b600435906001600160a01b038216820361033957565b602435906001600160a01b038216820361033957565b9181601f84011215610339578235916001600160401b038311610339576020808501948460061b01011161033957565b9060406003198301126103395760043591602435906001600160401b038211610339576135c691600401613567565b9091565b6060906003190112610339576004356001600160a01b038116810361033957906024359060443590565b9181601f84011215610339578235916001600160401b038311610339576020838186019501011161033957565b6080600319820112610339576004356001600160a01b03811681036103395791602435916001600160401b03916044358381116103395782613665916004016135f4565b93909392606435918211610339576135c691600401613567565b6060906003190112610339576001600160a01b0390600435828116810361033957916024359081168103610339579060443590565b6040906003190112610339576004359060243590565b6001600160a01b039091168152602081019190915260400190565b60a081019081106001600160401b038211176114c457604052565b604081019081106001600160401b038211176114c457604052565b602081019081106001600160401b038211176114c457604052565b601f909101601f19168101906001600160401b038211908210176114c457604052565b6001600160401b0381116114c457601f01601f191660200190565b81601f820112156103395780359061378b82613759565b926137996040519485613736565b8284526020838301011161033957816000926020809301838601378301015290565b600435906001600160601b038216820361033957565b60208082019080835283518092528060408094019401926000905b8382106137fb57505050505090565b845180516001600160a01b031687528301516001600160601b03168684015294850194938201936001909101906137ec565b90600182811c9216801561385d575b602083101461384757565b634e487b7160e01b600052602260045260246000fd5b91607f169161383c565b9060405191826000825461387a8161382d565b908184526020946001916001811690816000146138ea57506001146138ab575b5050506138a992500383613736565b565b600090815285812095935091905b8183106138d25750506138a9935082010138808061389a565b855488840185015294850194879450918301916138b9565b925050506138a994925060ff191682840152151560051b82010138808061389a565b1561391357565b60405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b1561395657565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e656044820152603960f91b6064820152608490fd5b156139ac57565b60405162461bcd60e51b8152602060048201526019602482015278546f6b656e205552492063616e6e6f7420626520656d70747960381b6044820152606490fd5b601f81116139f9575050565b60009060396000526020600020906020601f850160051c83019410613a39575b601f0160051c01915b828110613a2e57505050565b818155600101613a22565b9092508290613a19565b90601f8111613a5157505050565b6000916000526020600020906020601f850160051c83019410613a8f575b601f0160051c01915b828110613a8457505050565b818155600101613a78565b9092508290613a6f565b8160011b916000199060031b1c19161790565b818102929181159184041417156120f057565b919082039182116120f057565b919092939460018060a01b0390818416908115613e5457613aee8715156139a5565b603a5493600019978886146120f057600198898701603a556040948551613b148161371b565b6000998a825288613b258b83614b1a565b16613e3c573b613d28575b5050868852603760209081528589208a905560388152948820926001600160401b038311613d1457613b6c83613b66865461382d565b86613a43565b8891601f8411600114613ca95750613b8d9291899183613c9e575050613a99565b90555b85613ba0575b5050505050505050565b613bdc86613bb78998866036541630903390614a17565b60008051602061595f83398151915254908160a01c91889280613c6d575b5050613abf565b9781613c5a575b5050613bf38260365416936153e4565b93945b613c01575b80613b96565b8351851015613c555785948590612710613c316001600160601b0385613c27858b6141cd565b510151168b613aac565b0480613c40575b500194613bf6565b613c4f908561193d848a6141cd565b38613c38565b613bfb565b613c6691309186614851565b3880613be3565b612710919350613c7d9083613aac565b0491828015613bd557603654613c97928916908916614a5e565b3882613bd5565b0135905038806115f7565b848a52868a208c9493909291601f1985168c5b8a828210613cf35750508511613cdb575b50505050811b019055613b90565b60f88560031b161c1991013516905538808080613ccd565b9192939697859688849397013581550196019301908e969594939291613cbc565b634e487b7160e01b89526041600452602489fd5b97896020889f9d9b9997969594939e9c9a8f613d7591859b51948580948193630a85bd0160e11b998a84523360048501528460248501526044840152608060648401526084830190613516565b03925af1899181613df3575b50613db8578e8e613d906154d1565b8051929083613db1578151633250574960e11b815260048101849052602490fd5b6020849101fd5b63ffffffff9c9e97999b9d9293949596989a9c60e01b1603613ddc57503880613b30565b602490865190633250574960e11b82526004820152fd5b9091506020813d602011613e34575b81613e0f60209383613736565b81010312613e3057516001600160e01b031981168103613e30579038613d81565b8980fd5b3d9150613e02565b87516339e3563760e11b8152600481018c9052602490fd5b606460405162461bcd60e51b815260206004820152602060248201527f526563697069656e742063616e6e6f74206265207a65726f20616464726573736044820152fd5b6001600160a01b0391821681526020810192909252909116604082015260600190565b906001600160a01b038082169190821561418957600092858452600080516020615a9f83398151915293602085815260409484868420541696331515806140f1575b5087159081156140d2575b613f1183614294565b805460010190558a8552835286842080546001600160a01b03191686179055898589600080516020615a1f8339815191528780a41561404d576000805160206159ff83398151915280548a85526000805160206158ff833981519152845287852081905590600160401b8210156140395761200c828c926001613f969501905561436c565b838703613fcd575b5050505083168203613fb05750505050565b516364283d7b60e01b81529283926118c192919060048501613e98565b613fd690614393565b60001981019390841161402557829160008051602061581f8339815191529187945260008051602061583f83398151915281528383208584528152898484205589835252205538808080613f9e565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b85526041600452602485fd5b868414613f965761405d87614393565b89845260008051602061581f83398151915290818452878520549189865260008051602061583f8339815191528552888620928281036140b1575b508b865284528488812055845282528286812055613f96565b82875283865289872054818852808b89205587528186528987205538614098565b6140db8b615625565b6140e489614294565b8054600019019055613f08565b8061413c575b156141025738613efd565b868a8961411f576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b81529081906118c19033600484016136ca565b50338814801561416e575b806140f75750898452600080516020615adf833981519152835233868886205416146140f7565b506141788861425b565b338552835260ff8785205416614147565b604051633250574960e11b815260006004820152602490fd5b604051906141af826136e5565b60006080838281528260208201528260408201528260608201520152565b80518210156114ae5760209160051b010190565b60008051602061591f833981519152546001600160601b039392612710929161421a9184916142139190881690613aac565b0491614e61565b90815115801561423257505050509050600090600090565b6114ae57602061424b9201519460208601511690613aac565b92516001600160a01b0316920490565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b60008051602061595f83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b604051906331a9108f60e11b82526004820152602081602481305afa908161432d575b5061432857600090565b600190565b6020813d602011614364575b8161434660209383613736565b8101031261033957516001600160a01b03811603610339573861431e565b3d9150614339565b6000805160206159ff83398151915280548210156114ae5760005260206000200190600090565b6001600160a01b038116156143af576143ab90614294565b5490565b6040516322718ad960e21b815260006004820152602490fd5b6000818152600080516020615a9f8339815191526020908152604080832054919392916001600160a01b03161561461c578282526038845261440b818320613867565b8051614614575082918072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8481811015614607575b508690506904ee2d6d415b85acef8160201b808710156145fb575b5050662386f26fc10000808610156145ee575b506305f5e100808610156145e1575b50612710808610156145d4575b5060648510156145c6575b600a809510156145be575b60019260018201956144bf6144aa88613759565b976144b78451998a613736565b808952613759565b958560218a8a0195601f19809a013688378a0101905b61458f575b5050505195869383603954916144ef8361382d565b926001811690811561456e575060011461452a575b5050505061451a829161452796519384916134f3565b0103908101835282613736565b90565b90919297939450603982528782205b838310614558575050506145279561451a918501019291953880614504565b80548a84018a0152899650918801918101614539565b60ff19168886015250505080151502840101915061451a6145273880614504565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049086826144d557506144da565b600101614496565b93606460029104940161448b565b6004919504940138614480565b6008919504940138614473565b6010919504940138614464565b90950494018538614451565b0494508290503880614436565b935050505090565b5162461bcd60e51b815260048101849052601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606490fd5b63ffffffff60e01b16637965db0b60e01b811490811561467d575090565b6301ffc9a760e01b14919050565b6000818152600080516020615a9f83398151915260205260409020546001600160a01b03169081156120c2575090565b3360009081526000805160206159bf83398151915260205260409020546000805160206158bf8339815191529060ff16156146f35750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600080516020615a5f83398151915260205260406000203360005260205260ff60406000205416156146f35750565b90816020910312610339575180151581036103395790565b91908110156114ae5760061b0190565b356001600160601b03811681036103395790565b919082018092116120f057565b80549060009060008155826147a157505050565b6000526020600020918201915b8281106147ba57505050565b8181556001016147ae565b60008051602061595f83398151915280546001600160a01b031660a09290921b6001600160a01b031916919091179055565b805490600160401b8210156114c457600182018082558210156114ae5760005260206000200181359160018060a01b0383168093036103395781546001600160a01b03191690921781556138a9916114849060200161476c565b9291909160409081518091634f558e7960e01b825286600483015281602460209485935afa90811561495d57600091614940575b501561492f576000805b848210614909576127109150036148f857846000526000805160206158df833981519152908181526148c38360002061478d565b60005b8481106148d65750505050505050565b600190876000528383526148f28560002061051783898b61475c565b016148c6565b8151630569d67b60e21b8152600490fd5b600190614927906001600160601b0361055986610553878b8d61475c565b91019061488f565b815163677510db60e11b8152600490fd5b6149579150823d84116105a0576105928183613736565b38614885565b83513d6000823e3d90fd5b1561496f57565b60405162461bcd60e51b815260206004820152602160248201527f53616c65207072696365206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608490fd5b90815260609190911b6001600160601b03191660208201526034810191909152605481019190915260740190565b60ff600080516020615a7f8339815191525416614a0557565b60405163d93c066560e01b8152600490fd5b6040516323b872dd60e01b60208201526001600160a01b0392831660248201529290911660448301526064808301939093529181526138a991614a59826136e5565b615650565b614a596138a99392614a8560405194859263a9059cbb60e01b6020850152602484016136ca565b03601f198101845283613736565b15614a9a57565b60405162461bcd60e51b815260206004820152601560248201527453656c6c65722063616e6e6f74206265207a65726f60581b6044820152606490fd5b15614ade57565b60405162461bcd60e51b815260206004820152601460248201527342757965722063616e6e6f74206265207a65726f60601b6044820152606490fd5b90600091818352600080516020615a9f8339815191529260209184835260018060a01b03604091818385205416968715928315614dc0575b8216928315918215614dab575b888752875284862080546001600160a01b0319168517905587848a600080516020615a1f8339815191528980a415614d26576000805160206159ff83398151915280548887526000805160206158ff833981519152885285872081905590600160401b821015614d125761200c828a926001614bdd9501905561436c565b15614c905750506000805160206159ff83398151915293845460001994858201918211614c7c5790829185949385526000805160206158ff83398151915290818152614c2c858720549361436c565b90549060031b1c614c408161200c8661436c565b8652528284205582528120558254908115614c6857500190614c646120aa8361436c565b5590565b634e487b7160e01b81526031600452602490fd5b634e487b7160e01b85526011600452602485fd5b818796929695939503614ca7575b50505050505090565b614cb090614393565b600019810195908611614cfe57835260008051602061583f83398151915282528383208584528252838320819055825260008051602061581f83398151915290522055388080808080614c9e565b634e487b7160e01b84526011600452602484fd5b634e487b7160e01b87526041600452602487fd5b878314614bdd57614d3688614393565b87865260008051602061581f8339815191529081885285872054918a885260008051602061583f833981519152895286882092828103614d8a575b5089885288528686812055865286528484812055614bdd565b828952838a5287892054818a5280898b20558952818a528789205538614d71565b614db484614294565b60018154019055614b5f565b614dc988615625565b614dd289614294565b8054600019019055614b52565b80549091906001600160401b0381116114c45760209260409360405194614e0c60208560051b0187613736565b83865260208601926000526020600020906000935b858510614e3057505050505050565b60018481928451614e4081613700565b8654848060a01b038116825260a01c83820152815201930194019391614e21565b6000908152602060008051602061599f8339815191528152604091604081208054614f2057506000805160206159df833981519152805492906001600160401b038411614f0c579160405194614ebc838660051b0187613736565b84865282860193825282822091935b858510614edb5750505050505090565b60018481928451614eeb81613700565b8654848060a01b038116825260a01c83820152815201930194019391614ecb565b634e487b7160e01b83526041600452602483fd5b9150506145279150614ddf565b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d6020526040812054909190600080516020615a5f8339815191529060ff16614fb6578280526020526040822081835260205260408220600160ff1982541617905533916000805160206157ff8339815191528180a4600190565b505090565b6001600160a01b031660008181526000805160206159bf83398151915260205260408120549091906000805160206158bf83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fad72024263e9623ebed8340901e66822b773634383aecc136f020cfef766318f602052604081205490919060008051602061585f83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b6001600160a01b03166000818152600080516020615b1f833981519152602052604081205490919060008051602061593f83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b6001600160a01b031660008181527f774afb6aa83f545ecfd605e50ebf9593d146cb1cda2b64545f77f86c1ab621d76020526040812054909190600080516020615a3f83398151915290600080516020615a5f8339815191529060ff16615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b90600091808352600080516020615a5f83398151915280602052604084209260018060a01b03169283855260205260ff60408520541615600014615041578184526020526040832082845260205260408320600160ff198254161790556000805160206157ff833981519152339380a4600190565b90600091808352600080516020615a5f83398151915280602052604084209260018060a01b03169283855260205260ff60408520541660001461504157818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b156152fc57565b60405162461bcd60e51b815260206004820152601f60248201527f506c6174666f726d20616464726573732063616e6e6f74206265207a65726f006044820152606490fd5b1561534857565b60405162461bcd60e51b815260206004820152602560248201527f506c6174666f726d20636f6d6d697373696f6e2063616e6e6f74206578636565604482015264642032302560d81b6064820152608490fd5b156153a257565b60405162461bcd60e51b815260206004820152601a602482015279546f6b656e206f776e65722063616e6e6f74206265207a65726f60301b6044820152606490fd5b600090815260206000805160206158df8339815191528152604091604081208054614f205750600080516020615aff833981519152805492906001600160401b038411614f0c57916040519461543f838660051b0187613736565b84865282860193825282822091935b85851061545e5750505050505090565b6001848192845161546e81613700565b8654848060a01b038116825260a01c8382015281520193019401939161544e565b1561549657565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881a5cc81b9bdd081c995b9d1959606a1b6044820152606490fd5b3d156154fc573d906154e282613759565b916154f06040519384613736565b82523d6000602084013e565b606090565b9293823b615511575b5050505050565b6155559060018060a01b038094169560405194859481630a85bd0160e11b988988521660048701521660248501526044840152608060648401526084830190613516565b03906020816000938185885af1908290826155d5575b50506155a3578261557a6154d1565b805191908261559c57604051633250574960e11b815260048101839052602490fd5b6020915001fd5b6001600160e01b031916036155bd5750388080808061550a565b60249060405190633250574960e11b82526004820152fd5b909192506020813d60201161561d575b816155f260209383613736565b810103126156195751906001600160e01b031982168203615616575090388061556b565b80fd5b5080fd5b3d91506155e5565b6000908152600080516020615adf8339815191526020526040902080546001600160a01b0319169055565b906000602091828151910182855af1156105a7576000513d6156a357506001600160a01b0381163b155b6156815750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561567a565b6156b99094939194614e61565b9182511561572e5760005b8351811015615726576001906127106156f46001600160601b0360206156ea858a6141cd565b5101511689613aac565b0480615702575b50016156c4565b61572090838060a01b0361571684896141cd565b5151168686614a17565b386156fb565b505050509050565b5050509050565b60ff600080516020615b3f8339815191525460401c161561575257565b604051631afcd79f60e31b8152600490fd5b60005260008051602061589f833981519152602052604060002060ff6004820154169081615790575090565b600291500154421090565b906157c257508051156157b057602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806157f5575b6157d3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156157cb56fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed01645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00797343f8d6a29aafeb3aaf0910a8973e0081c60c2f6c1f775cd9f76ea348fc1e80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300efbf0e557c8acb6e3deb011ac697e5553b802e419ed4680395101c0ddc5e8723b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2892645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed031aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d288f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3de1159fbbeca73b2aca5752c42b257ca18171ae3b3d3bbf22c7938e3a961a0cb360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2893c32d4dc01d07c436ad8a6f9a20eadd61263c71fe16f6b5956005ba3b341f51dd1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2891645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef3b652633b3026fa70803ad50b58b0ae884cefe3497643f62c67c466f41a6e88d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793041aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2890ab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a8f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3df80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301a164736f6c6343000818000a",
1821
+ "linkReferences": {},
1822
+ "deployedLinkReferences": {}
1823
+ }