@lukso/lsp8-contracts 0.16.7 → 0.17.3
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.
- package/LICENSE +201 -0
- package/README.md +54 -4
- package/artifacts/IAccessControlExtended.json +285 -0
- package/artifacts/ILSP8CappedBalance.json +27 -0
- package/artifacts/ILSP8CappedSupply.json +27 -0
- package/artifacts/ILSP8IdentifiableDigitalAsset.json +6 -3
- package/artifacts/ILSP8Mintable.json +62 -0
- package/artifacts/ILSP8NonTransferable.json +110 -0
- package/artifacts/ILSP8Revokable.json +75 -0
- package/artifacts/LSP8Burnable.json +7 -4
- package/artifacts/LSP8BurnableInitAbstract.json +7 -4
- package/artifacts/LSP8CappedBalanceAbstract.json +1285 -0
- package/artifacts/LSP8CappedBalanceInitAbstract.json +1293 -0
- package/artifacts/{LSP8CappedSupply.json → LSP8CappedSupplyAbstract.json} +8 -15
- package/artifacts/LSP8CappedSupplyInitAbstract.json +7 -14
- package/artifacts/LSP8CustomizableToken.json +1738 -0
- package/artifacts/LSP8CustomizableTokenInit.json +1733 -0
- package/artifacts/LSP8Enumerable.json +7 -4
- package/artifacts/LSP8EnumerableInitAbstract.json +7 -4
- package/artifacts/LSP8IdentifiableDigitalAsset.json +6 -3
- package/artifacts/LSP8IdentifiableDigitalAssetInitAbstract.json +6 -3
- package/artifacts/LSP8Mintable.json +369 -5
- package/artifacts/LSP8MintableAbstract.json +1328 -0
- package/artifacts/LSP8MintableInit.json +369 -5
- package/artifacts/LSP8MintableInitAbstract.json +1336 -0
- package/artifacts/LSP8NonTransferableAbstract.json +1367 -0
- package/artifacts/LSP8NonTransferableInitAbstract.json +1375 -0
- package/artifacts/LSP8RevokableAbstract.json +1317 -0
- package/artifacts/LSP8RevokableInitAbstract.json +1325 -0
- package/artifacts/LSP8Votes.json +7 -4
- package/artifacts/LSP8VotesInitAbstract.json +7 -4
- package/contracts/ILSP8IdentifiableDigitalAsset.sol +1 -1
- package/contracts/LSP8Constants.sol +1 -1
- package/contracts/LSP8Errors.sol +1 -1
- package/contracts/LSP8IdentifiableDigitalAsset.sol +73 -114
- package/contracts/LSP8IdentifiableDigitalAssetInitAbstract.sol +69 -116
- package/contracts/extensions/AccessControlExtended/AccessControlExtendedAbstract.sol +378 -0
- package/contracts/extensions/AccessControlExtended/AccessControlExtendedConstants.sol +13 -0
- package/contracts/extensions/AccessControlExtended/AccessControlExtendedErrors.sol +23 -0
- package/contracts/extensions/AccessControlExtended/AccessControlExtendedInitAbstract.sol +390 -0
- package/contracts/extensions/AccessControlExtended/IAccessControlExtended.sol +51 -0
- package/contracts/extensions/{LSP8Burnable.sol → LSP8Burnable/LSP8Burnable.sol} +7 -6
- package/contracts/extensions/{LSP8BurnableInitAbstract.sol → LSP8Burnable/LSP8BurnableInitAbstract.sol} +7 -6
- package/contracts/extensions/LSP8CappedBalance/ILSP8CappedBalance.sol +11 -0
- package/contracts/extensions/LSP8CappedBalance/LSP8CappedBalanceAbstract.sol +124 -0
- package/contracts/extensions/LSP8CappedBalance/LSP8CappedBalanceErrors.sol +9 -0
- package/contracts/extensions/LSP8CappedBalance/LSP8CappedBalanceInitAbstract.sol +174 -0
- package/contracts/extensions/LSP8CappedSupply/ILSP8CappedSupply.sol +11 -0
- package/contracts/extensions/LSP8CappedSupply/LSP8CappedSupplyAbstract.sol +59 -0
- package/contracts/extensions/LSP8CappedSupply/LSP8CappedSupplyErrors.sol +6 -0
- package/contracts/extensions/LSP8CappedSupply/LSP8CappedSupplyInitAbstract.sol +97 -0
- package/contracts/extensions/{LSP8Enumerable.sol → LSP8Enumerable/LSP8Enumerable.sol} +2 -2
- package/contracts/extensions/{LSP8EnumerableInitAbstract.sol → LSP8Enumerable/LSP8EnumerableInitAbstract.sol} +2 -2
- package/contracts/extensions/LSP8Mintable/ILSP8Mintable.sol +27 -0
- package/contracts/extensions/LSP8Mintable/LSP8MintableAbstract.sol +105 -0
- package/contracts/extensions/LSP8Mintable/LSP8MintableErrors.sol +5 -0
- package/contracts/extensions/LSP8Mintable/LSP8MintableInitAbstract.sol +155 -0
- package/contracts/extensions/LSP8NonTransferable/ILSP8NonTransferable.sol +48 -0
- package/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableAbstract.sol +190 -0
- package/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableErrors.sol +14 -0
- package/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableInitAbstract.sol +246 -0
- package/contracts/extensions/LSP8Revokable/ILSP8Revokable.sol +28 -0
- package/contracts/extensions/LSP8Revokable/LSP8RevokableAbstract.sol +132 -0
- package/contracts/extensions/LSP8Revokable/LSP8RevokableErrors.sol +4 -0
- package/contracts/extensions/LSP8Revokable/LSP8RevokableInitAbstract.sol +178 -0
- package/contracts/extensions/{LSP8Votes.sol → LSP8Votes/LSP8Votes.sol} +3 -4
- package/contracts/extensions/{LSP8VotesConstants.sol → LSP8Votes/LSP8VotesConstants.sol} +1 -1
- package/contracts/extensions/{LSP8VotesInitAbstract.sol → LSP8Votes/LSP8VotesInitAbstract.sol} +3 -3
- package/contracts/presets/LSP8CustomizableToken.sol +277 -0
- package/contracts/presets/LSP8CustomizableTokenConstants.sol +32 -0
- package/contracts/presets/LSP8CustomizableTokenInit.sol +318 -0
- package/contracts/presets/LSP8Mintable.sol +13 -28
- package/contracts/presets/LSP8MintableInit.sol +13 -6
- package/dist/abi.cjs +8233 -158
- package/dist/abi.d.cts +12004 -323
- package/dist/abi.d.mts +12004 -323
- package/dist/abi.d.ts +12004 -323
- package/dist/abi.mjs +8217 -158
- package/dist/constants.cjs +21 -0
- package/dist/constants.d.cts +12 -1
- package/dist/constants.d.mts +12 -1
- package/dist/constants.d.ts +12 -1
- package/dist/constants.mjs +16 -1
- package/package.json +32 -9
- package/contracts/extensions/LSP8CappedSupply.sol +0 -85
- package/contracts/extensions/LSP8CappedSupplyInitAbstract.sol +0 -88
- package/contracts/presets/ILSP8Mintable.sol +0 -33
- package/contracts/presets/LSP8MintableInitAbstract.sol +0 -62
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_format": "
|
|
2
|
+
"_format": "hh3-artifact-1",
|
|
3
3
|
"contractName": "LSP8Mintable",
|
|
4
4
|
"sourceName": "contracts/presets/LSP8Mintable.sol",
|
|
5
5
|
"abi": [
|
|
@@ -34,6 +34,32 @@
|
|
|
34
34
|
"stateMutability": "nonpayable",
|
|
35
35
|
"type": "constructor"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"inputs": [],
|
|
39
|
+
"name": "AccessControlBadConfirmation",
|
|
40
|
+
"type": "error"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"inputs": [],
|
|
44
|
+
"name": "AccessControlCannotSetAdminForDefaultAdminRole",
|
|
45
|
+
"type": "error"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"inputs": [
|
|
49
|
+
{
|
|
50
|
+
"internalType": "address",
|
|
51
|
+
"name": "account",
|
|
52
|
+
"type": "address"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"internalType": "bytes32",
|
|
56
|
+
"name": "neededRole",
|
|
57
|
+
"type": "bytes32"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"name": "AccessControlUnauthorizedAccount",
|
|
61
|
+
"type": "error"
|
|
62
|
+
},
|
|
37
63
|
{
|
|
38
64
|
"inputs": [],
|
|
39
65
|
"name": "ERC725Y_DataKeysValuesEmptyArray",
|
|
@@ -112,6 +138,11 @@
|
|
|
112
138
|
"name": "LSP8InvalidTransferBatch",
|
|
113
139
|
"type": "error"
|
|
114
140
|
},
|
|
141
|
+
{
|
|
142
|
+
"inputs": [],
|
|
143
|
+
"name": "LSP8MintDisabled",
|
|
144
|
+
"type": "error"
|
|
145
|
+
},
|
|
115
146
|
{
|
|
116
147
|
"inputs": [
|
|
117
148
|
{
|
|
@@ -327,6 +358,19 @@
|
|
|
327
358
|
"name": "DataChanged",
|
|
328
359
|
"type": "event"
|
|
329
360
|
},
|
|
361
|
+
{
|
|
362
|
+
"anonymous": false,
|
|
363
|
+
"inputs": [
|
|
364
|
+
{
|
|
365
|
+
"indexed": true,
|
|
366
|
+
"internalType": "bool",
|
|
367
|
+
"name": "enabled",
|
|
368
|
+
"type": "bool"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"name": "MintingStatusChanged",
|
|
372
|
+
"type": "event"
|
|
373
|
+
},
|
|
330
374
|
{
|
|
331
375
|
"anonymous": false,
|
|
332
376
|
"inputs": [
|
|
@@ -414,6 +458,81 @@
|
|
|
414
458
|
"name": "OwnershipTransferred",
|
|
415
459
|
"type": "event"
|
|
416
460
|
},
|
|
461
|
+
{
|
|
462
|
+
"anonymous": false,
|
|
463
|
+
"inputs": [
|
|
464
|
+
{
|
|
465
|
+
"indexed": true,
|
|
466
|
+
"internalType": "bytes32",
|
|
467
|
+
"name": "role",
|
|
468
|
+
"type": "bytes32"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"indexed": true,
|
|
472
|
+
"internalType": "bytes32",
|
|
473
|
+
"name": "previousAdminRole",
|
|
474
|
+
"type": "bytes32"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"indexed": true,
|
|
478
|
+
"internalType": "bytes32",
|
|
479
|
+
"name": "newAdminRole",
|
|
480
|
+
"type": "bytes32"
|
|
481
|
+
}
|
|
482
|
+
],
|
|
483
|
+
"name": "RoleAdminChanged",
|
|
484
|
+
"type": "event"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"anonymous": false,
|
|
488
|
+
"inputs": [
|
|
489
|
+
{
|
|
490
|
+
"indexed": true,
|
|
491
|
+
"internalType": "bytes32",
|
|
492
|
+
"name": "role",
|
|
493
|
+
"type": "bytes32"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"indexed": true,
|
|
497
|
+
"internalType": "address",
|
|
498
|
+
"name": "account",
|
|
499
|
+
"type": "address"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"indexed": true,
|
|
503
|
+
"internalType": "address",
|
|
504
|
+
"name": "sender",
|
|
505
|
+
"type": "address"
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
"name": "RoleGranted",
|
|
509
|
+
"type": "event"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"anonymous": false,
|
|
513
|
+
"inputs": [
|
|
514
|
+
{
|
|
515
|
+
"indexed": true,
|
|
516
|
+
"internalType": "bytes32",
|
|
517
|
+
"name": "role",
|
|
518
|
+
"type": "bytes32"
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"indexed": true,
|
|
522
|
+
"internalType": "address",
|
|
523
|
+
"name": "account",
|
|
524
|
+
"type": "address"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"indexed": true,
|
|
528
|
+
"internalType": "address",
|
|
529
|
+
"name": "sender",
|
|
530
|
+
"type": "address"
|
|
531
|
+
}
|
|
532
|
+
],
|
|
533
|
+
"name": "RoleRevoked",
|
|
534
|
+
"type": "event"
|
|
535
|
+
},
|
|
417
536
|
{
|
|
418
537
|
"anonymous": false,
|
|
419
538
|
"inputs": [
|
|
@@ -486,6 +605,32 @@
|
|
|
486
605
|
"stateMutability": "payable",
|
|
487
606
|
"type": "fallback"
|
|
488
607
|
},
|
|
608
|
+
{
|
|
609
|
+
"inputs": [],
|
|
610
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
611
|
+
"outputs": [
|
|
612
|
+
{
|
|
613
|
+
"internalType": "bytes32",
|
|
614
|
+
"name": "",
|
|
615
|
+
"type": "bytes32"
|
|
616
|
+
}
|
|
617
|
+
],
|
|
618
|
+
"stateMutability": "view",
|
|
619
|
+
"type": "function"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"inputs": [],
|
|
623
|
+
"name": "MINTER_ROLE",
|
|
624
|
+
"outputs": [
|
|
625
|
+
{
|
|
626
|
+
"internalType": "bytes32",
|
|
627
|
+
"name": "",
|
|
628
|
+
"type": "bytes32"
|
|
629
|
+
}
|
|
630
|
+
],
|
|
631
|
+
"stateMutability": "view",
|
|
632
|
+
"type": "function"
|
|
633
|
+
},
|
|
489
634
|
{
|
|
490
635
|
"inputs": [
|
|
491
636
|
{
|
|
@@ -547,6 +692,13 @@
|
|
|
547
692
|
"stateMutability": "nonpayable",
|
|
548
693
|
"type": "function"
|
|
549
694
|
},
|
|
695
|
+
{
|
|
696
|
+
"inputs": [],
|
|
697
|
+
"name": "disableMinting",
|
|
698
|
+
"outputs": [],
|
|
699
|
+
"stateMutability": "nonpayable",
|
|
700
|
+
"type": "function"
|
|
701
|
+
},
|
|
550
702
|
{
|
|
551
703
|
"inputs": [
|
|
552
704
|
{
|
|
@@ -652,6 +804,142 @@
|
|
|
652
804
|
"stateMutability": "view",
|
|
653
805
|
"type": "function"
|
|
654
806
|
},
|
|
807
|
+
{
|
|
808
|
+
"inputs": [
|
|
809
|
+
{
|
|
810
|
+
"internalType": "bytes32",
|
|
811
|
+
"name": "role",
|
|
812
|
+
"type": "bytes32"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"name": "getRoleAdmin",
|
|
816
|
+
"outputs": [
|
|
817
|
+
{
|
|
818
|
+
"internalType": "bytes32",
|
|
819
|
+
"name": "",
|
|
820
|
+
"type": "bytes32"
|
|
821
|
+
}
|
|
822
|
+
],
|
|
823
|
+
"stateMutability": "view",
|
|
824
|
+
"type": "function"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"inputs": [
|
|
828
|
+
{
|
|
829
|
+
"internalType": "bytes32",
|
|
830
|
+
"name": "role",
|
|
831
|
+
"type": "bytes32"
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
"internalType": "uint256",
|
|
835
|
+
"name": "index",
|
|
836
|
+
"type": "uint256"
|
|
837
|
+
}
|
|
838
|
+
],
|
|
839
|
+
"name": "getRoleMember",
|
|
840
|
+
"outputs": [
|
|
841
|
+
{
|
|
842
|
+
"internalType": "address",
|
|
843
|
+
"name": "",
|
|
844
|
+
"type": "address"
|
|
845
|
+
}
|
|
846
|
+
],
|
|
847
|
+
"stateMutability": "view",
|
|
848
|
+
"type": "function"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"inputs": [
|
|
852
|
+
{
|
|
853
|
+
"internalType": "bytes32",
|
|
854
|
+
"name": "role",
|
|
855
|
+
"type": "bytes32"
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"name": "getRoleMemberCount",
|
|
859
|
+
"outputs": [
|
|
860
|
+
{
|
|
861
|
+
"internalType": "uint256",
|
|
862
|
+
"name": "",
|
|
863
|
+
"type": "uint256"
|
|
864
|
+
}
|
|
865
|
+
],
|
|
866
|
+
"stateMutability": "view",
|
|
867
|
+
"type": "function"
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
"inputs": [
|
|
871
|
+
{
|
|
872
|
+
"internalType": "bytes32",
|
|
873
|
+
"name": "role",
|
|
874
|
+
"type": "bytes32"
|
|
875
|
+
}
|
|
876
|
+
],
|
|
877
|
+
"name": "getRoleMembers",
|
|
878
|
+
"outputs": [
|
|
879
|
+
{
|
|
880
|
+
"internalType": "address[]",
|
|
881
|
+
"name": "",
|
|
882
|
+
"type": "address[]"
|
|
883
|
+
}
|
|
884
|
+
],
|
|
885
|
+
"stateMutability": "view",
|
|
886
|
+
"type": "function"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"inputs": [
|
|
890
|
+
{
|
|
891
|
+
"internalType": "bytes32",
|
|
892
|
+
"name": "role",
|
|
893
|
+
"type": "bytes32"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"internalType": "address",
|
|
897
|
+
"name": "account",
|
|
898
|
+
"type": "address"
|
|
899
|
+
}
|
|
900
|
+
],
|
|
901
|
+
"name": "grantRole",
|
|
902
|
+
"outputs": [],
|
|
903
|
+
"stateMutability": "nonpayable",
|
|
904
|
+
"type": "function"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"inputs": [
|
|
908
|
+
{
|
|
909
|
+
"internalType": "bytes32",
|
|
910
|
+
"name": "role",
|
|
911
|
+
"type": "bytes32"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"internalType": "address",
|
|
915
|
+
"name": "account",
|
|
916
|
+
"type": "address"
|
|
917
|
+
}
|
|
918
|
+
],
|
|
919
|
+
"name": "hasRole",
|
|
920
|
+
"outputs": [
|
|
921
|
+
{
|
|
922
|
+
"internalType": "bool",
|
|
923
|
+
"name": "",
|
|
924
|
+
"type": "bool"
|
|
925
|
+
}
|
|
926
|
+
],
|
|
927
|
+
"stateMutability": "view",
|
|
928
|
+
"type": "function"
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
"inputs": [],
|
|
932
|
+
"name": "isMintable",
|
|
933
|
+
"outputs": [
|
|
934
|
+
{
|
|
935
|
+
"internalType": "bool",
|
|
936
|
+
"name": "",
|
|
937
|
+
"type": "bool"
|
|
938
|
+
}
|
|
939
|
+
],
|
|
940
|
+
"stateMutability": "view",
|
|
941
|
+
"type": "function"
|
|
942
|
+
},
|
|
655
943
|
{
|
|
656
944
|
"inputs": [
|
|
657
945
|
{
|
|
@@ -724,6 +1012,24 @@
|
|
|
724
1012
|
"stateMutability": "nonpayable",
|
|
725
1013
|
"type": "function"
|
|
726
1014
|
},
|
|
1015
|
+
{
|
|
1016
|
+
"inputs": [
|
|
1017
|
+
{
|
|
1018
|
+
"internalType": "bytes32",
|
|
1019
|
+
"name": "role",
|
|
1020
|
+
"type": "bytes32"
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
"internalType": "address",
|
|
1024
|
+
"name": "callerConfirmation",
|
|
1025
|
+
"type": "address"
|
|
1026
|
+
}
|
|
1027
|
+
],
|
|
1028
|
+
"name": "renounceRole",
|
|
1029
|
+
"outputs": [],
|
|
1030
|
+
"stateMutability": "nonpayable",
|
|
1031
|
+
"type": "function"
|
|
1032
|
+
},
|
|
727
1033
|
{
|
|
728
1034
|
"inputs": [
|
|
729
1035
|
{
|
|
@@ -752,6 +1058,43 @@
|
|
|
752
1058
|
"stateMutability": "nonpayable",
|
|
753
1059
|
"type": "function"
|
|
754
1060
|
},
|
|
1061
|
+
{
|
|
1062
|
+
"inputs": [
|
|
1063
|
+
{
|
|
1064
|
+
"internalType": "bytes32",
|
|
1065
|
+
"name": "role",
|
|
1066
|
+
"type": "bytes32"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"internalType": "address",
|
|
1070
|
+
"name": "account",
|
|
1071
|
+
"type": "address"
|
|
1072
|
+
}
|
|
1073
|
+
],
|
|
1074
|
+
"name": "revokeRole",
|
|
1075
|
+
"outputs": [],
|
|
1076
|
+
"stateMutability": "nonpayable",
|
|
1077
|
+
"type": "function"
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"inputs": [
|
|
1081
|
+
{
|
|
1082
|
+
"internalType": "address",
|
|
1083
|
+
"name": "account",
|
|
1084
|
+
"type": "address"
|
|
1085
|
+
}
|
|
1086
|
+
],
|
|
1087
|
+
"name": "rolesOf",
|
|
1088
|
+
"outputs": [
|
|
1089
|
+
{
|
|
1090
|
+
"internalType": "bytes32[]",
|
|
1091
|
+
"name": "",
|
|
1092
|
+
"type": "bytes32[]"
|
|
1093
|
+
}
|
|
1094
|
+
],
|
|
1095
|
+
"stateMutability": "view",
|
|
1096
|
+
"type": "function"
|
|
1097
|
+
},
|
|
755
1098
|
{
|
|
756
1099
|
"inputs": [
|
|
757
1100
|
{
|
|
@@ -834,6 +1177,24 @@
|
|
|
834
1177
|
"stateMutability": "nonpayable",
|
|
835
1178
|
"type": "function"
|
|
836
1179
|
},
|
|
1180
|
+
{
|
|
1181
|
+
"inputs": [
|
|
1182
|
+
{
|
|
1183
|
+
"internalType": "bytes32",
|
|
1184
|
+
"name": "role",
|
|
1185
|
+
"type": "bytes32"
|
|
1186
|
+
},
|
|
1187
|
+
{
|
|
1188
|
+
"internalType": "bytes32",
|
|
1189
|
+
"name": "adminRole",
|
|
1190
|
+
"type": "bytes32"
|
|
1191
|
+
}
|
|
1192
|
+
],
|
|
1193
|
+
"name": "setRoleAdmin",
|
|
1194
|
+
"outputs": [],
|
|
1195
|
+
"stateMutability": "nonpayable",
|
|
1196
|
+
"type": "function"
|
|
1197
|
+
},
|
|
837
1198
|
{
|
|
838
1199
|
"inputs": [
|
|
839
1200
|
{
|
|
@@ -988,8 +1349,11 @@
|
|
|
988
1349
|
"type": "receive"
|
|
989
1350
|
}
|
|
990
1351
|
],
|
|
991
|
-
"bytecode": "0x60806040523480156200001157600080fd5b506040516200357b3803806200357b833981016040819052620000349162000445565b8484848484848484848162000049336200020c565b6001600160a01b03811662000071576040516306b620db60e21b815260040160405180910390fd5b62000087816200020c60201b620010901760201c565b50620000de7feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200025c60201b620010ed1760201c565b620001187fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b856200025c60201b620010ed1760201c565b620001527f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b846200025c60201b620010ed1760201c565b6040805160208101839052620001a5917fe0261fa95db2eb3b5439bd033cda66d56b96f92f243a8228fd87550ed7bdfdb391016040516020818303038152906040526200025c60201b620010ed1760201c565b50506040805160208101859052620001fc93507ff675e9361af1c1664c1868cfa3eb97672d6b1a513aa5b81dec34c9ee330e818d925001604051602081830303815290604052620002b560201b620011421760201c565b5050505050505050505062000673565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082815260016020526040902062000276828262000572565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051620002a991906200063e565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201620002f6576040516385c169bd60e01b815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016200033757604051630eceab6760e31b815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d82016200025c57604051634ef6d7fb60e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003ab57818101518382015260200162000391565b50506000910152565b600082601f830112620003c657600080fd5b81516001600160401b0380821115620003e357620003e362000378565b604051601f8301601f19908116603f011681019082821181831017156200040e576200040e62000378565b816040528381528660208588010111156200042857600080fd5b6200043b8460208301602089016200038e565b9695505050505050565b600080600080600060a086880312156200045e57600080fd5b85516001600160401b03808211156200047657600080fd5b6200048489838a01620003b4565b965060208801519150808211156200049b57600080fd5b50620004aa88828901620003b4565b604088015190955090506001600160a01b0381168114620004ca57600080fd5b6060870151608090970151959894975095949392505050565b600181811c90821680620004f857607f821691505b6020821081036200051957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200056d57600081815260208120601f850160051c81016020861015620005485750805b601f850160051c820191505b81811015620005695782815560010162000554565b5050505b505050565b81516001600160401b038111156200058e576200058e62000378565b620005a6816200059f8454620004e3565b846200051f565b602080601f831160018114620005de5760008415620005c55750858301515b600019600386901b1c1916600185901b17855562000569565b600085815260208120601f198616915b828110156200060f57888601518255948401946001909101908401620005ee565b50858210156200062e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200065f8160408501602087016200038e565b601f01601f19169190910160400192915050565b612ef880620006836000396000f3fe60806040526004361061018f5760003560e01c80637e87632c116100d6578063af255b611161007f578063db8c966311610059578063db8c96631461051f578063dedff9c61461053f578063f2fde38b1461055f57610203565b8063af255b61146104bf578063be9f0e6f146104df578063d6c1407c146104ff57610203565b80638da5cb5b116100b05780638da5cb5b14610461578063979024211461047f578063a3b261f21461049257610203565b80637e87632c1461040e5780637f23690c1461042e57806386a10ddd1461044157610203565b806349a6078d116101385780636963d438116101125780636963d438146103b957806370a08231146103d9578063715018a6146103f957610203565b806349a6078d1461034a578063511b69521461037757806354f6127f1461039957610203565b80631d26fce6116101695780631d26fce6146102c5578063217b2270146102f25780632a3654a41461032a57610203565b806301ffc9a71461024457806316e023b31461027957806318160ddd146102a657610203565b3661020357346000036101d15760405163e5099ee360e01b81526004016101c89060208082526004908201526000604082015260600190565b60405180910390fd5b6040517f61f4944200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000366060600482101561022e57828260405163e5099ee360e01b81526004016101c892919061218b565b610238838361057f565b80519350602001915050f35b34801561025057600080fd5b5061026461025f3660046121ba565b61068e565b60405190151581526020015b60405180910390f35b34801561028557600080fd5b506102996102943660046121e4565b6106db565b6040516102709190612256565b3480156102b257600080fd5b506002545b604051908152602001610270565b3480156102d157600080fd5b506102e56102e036600461233f565b6106ee565b60405161027091906123a3565b3480156102fe57600080fd5b5061031261030d366004612405565b6107d6565b6040516001600160a01b039091168152602001610270565b34801561033657600080fd5b5061026461034536600461243a565b61080f565b34801561035657600080fd5b5061036a610365366004612405565b61081b565b6040516102709190612464565b34801561038357600080fd5b5061039761039236600461253a565b61083d565b005b3480156103a557600080fd5b506102996103b4366004612405565b61089a565b3480156103c557600080fd5b506102e56103d43660046125b3565b6108a5565b3480156103e557600080fd5b506102b76103f4366004612628565b6109ee565b34801561040557600080fd5b50610397610a0f565b34801561041a57600080fd5b50610397610429366004612787565b610a23565b61039761043c36600461284c565b610b2b565b34801561044d57600080fd5b5061039761045c366004612889565b610b60565b34801561046d57600080fd5b506000546001600160a01b0316610312565b61039761048d3660046128e0565b610cf3565b34801561049e57600080fd5b506104b26104ad366004612628565b610d24565b604051610270919061293a565b3480156104cb57600080fd5b506103976104da366004612972565b610d48565b3480156104eb57600080fd5b506103976104fa3660046129da565b610d62565b34801561050b57600080fd5b5061039761051a366004612a58565b610e40565b34801561052b57600080fd5b5061039761053a366004612972565b610e58565b34801561054b57600080fd5b506102e561055a366004612a92565b610f55565b34801561056b57600080fd5b5061039761057a366004612628565b611000565b606060006105986000356001600160e01b03191661124d565b5090506001600160a01b0381166105e9576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024016101c8565b600080826001600160a01b0316348787333460405160200161060e9493929190612ac7565b60408051601f198184030181529082905261062891612af7565b60006040518083038185875af1925050503d8060008114610665576040519150601f19603f3d011682016040523d82523d6000602084013e61066a565b606091505b5091509150811561067f579250610688915050565b80518060208301fd5b92915050565b60006001600160e01b031982167f3a2717060000000000000000000000000000000000000000000000000000000014806106cc57506106cc826112f7565b80610688575061068882611335565b60606106e7838361136c565b9392505050565b60608151835114610712576040516317d38eff60e11b815260040160405180910390fd5b825167ffffffffffffffff81111561072c5761072c612269565b60405190808252806020026020018201604052801561075f57816020015b606081526020019060019003908161074a5790505b50905060005b83518110156107cf576107aa84828151811061078357610783612b13565b602002602001015184838151811061079d5761079d612b13565b602002602001015161136c565b8282815181106107bc576107bc612b13565b6020908102919091010152600101610765565b5092915050565b6000818152600360205260408120546001600160a01b03168061068857604051635747cd1b60e11b8152600481018490526024016101c8565b60006106e78383611443565b606061082682611480565b6000828152600560205260409020610688906114b8565b6108473384611443565b610886576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018490523360248201526044016101c8565b61089385858585856114c5565b5050505050565b6060610688826116cd565b60608167ffffffffffffffff8111156108c0576108c0612269565b6040519080825280602002602001820160405280156108f357816020015b60608152602001906001900390816108de5790505b50905060005b828110156107cf576000803086868581811061091757610917612b13565b90506020028101906109299190612b29565b604051610937929190612b77565b600060405180830381855af49150503d8060008114610972576040519150601f19603f3d011682016040523d82523d6000602084013e610977565b606091505b5091509150816109c6578051156109915780518082602001fd5b6040517f234eb819000000000000000000000000000000000000000000000000000000008152600481018490526024016101c8565b808484815181106109d9576109d9612b13565b602090810291909101015250506001016108f9565b6001600160a01b03811660009081526004602052604081206106889061176f565b610a17611779565b610a216000611090565b565b8451845181141580610a36575083518114155b80610a42575082518114155b80610a4e575081518114155b15610a85576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b2257610b1a878281518110610aa557610aa5612b13565b6020026020010151878381518110610abf57610abf612b13565b6020026020010151878481518110610ad957610ad9612b13565b6020026020010151878581518110610af357610af3612b13565b6020026020010151878681518110610b0d57610b0d612b13565b602002602001015161083d565b600101610a88565b50505050505050565b610b33611779565b3415610b525760405163f36ba73760e01b815260040160405180910390fd5b610b5c82826117d3565b5050565b6000610b6b836107d6565b90506001600160a01b0381163314610bae57604051632d938f5160e11b81526001600160a01b0382166004820152602481018490523360448201526064016101c8565b6001600160a01b038416610bd557604051639577b8b360e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031603610c07576040516344fed6b160e11b815260040160405180910390fd5b6000838152600560205260408120610c1f9086611836565b905080610c6a576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602481018590526044016101c8565b83826001600160a01b0316866001600160a01b03167f1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc23667121586604051610cae9190612256565b60405180910390a460003385600186604051602001610cd09493929190612b87565b6040516020818303038152906040529050610ceb868261184b565b505050505050565b610cfb611779565b3415610d1a5760405163f36ba73760e01b815260040160405180910390fd5b610b5c8282611876565b6001600160a01b0381166000908152600460205260409020606090610688906114b8565b610d50611779565b610d5c8484848461193c565b50505050565b610d6a611779565b81518351141580610d7d57508051825114155b15610d9b576040516317d38eff60e11b815260040160405180910390fd5b8251600003610dd6576040517f80c9830500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8351811015610d5c57610e38848281518110610df757610df7612b13565b6020026020010151848381518110610e1157610e11612b13565b6020026020010151848481518110610e2b57610e2b612b13565b6020026020010151611ab9565b600101610dd9565b610e48611779565b610e53838383611ab9565b505050565b6000610e63846107d6565b9050336001600160a01b03821614610ecf576001600160a01b0385163314610ecf576040517f760b5acd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382166024820152604481018590526064016101c8565b6001600160a01b038516610ef657604051639577b8b360e01b815260040160405180910390fd5b846001600160a01b0316816001600160a01b031603610f28576040516344fed6b160e11b815260040160405180910390fd5b610f358582868686611b49565b82156108935760008185600085604051602001610cd09493929190612b87565b6060815167ffffffffffffffff811115610f7157610f71612269565b604051908082528060200260200182016040528015610fa457816020015b6060815260200190600190039081610f8f5790505b50905060005b8251811015610ffa57610fd5838281518110610fc857610fc8612b13565b60200260200101516116cd565b828281518110610fe757610fe7612b13565b6020908102919091010152600101610faa565b50919050565b611008611779565b6001600160a01b0381166110845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101c8565b61108d81611090565b50565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008281526001602052604090206111058282612c3b565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516111369190612256565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820161119b576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016111f4576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d82016110ed576040517f4ef6d7fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080806112857fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611c02565b90506000611292826116cd565b905080516014141580156112a65750805115155b156112df57806040517f42bfe79f0000000000000000000000000000000000000000000000000000000081526004016101c89190612256565b6112e881612cfb565b60601c95600195509350505050565b60006001600160e01b031982167fa918fa6b000000000000000000000000000000000000000000000000000000001480610688575061068882611c73565b6000806113486301ffc9a760e01b61124d565b5090506001600160a01b0381166113625750600092915050565b6106e78184611cc1565b606060016000848460405160200161138e929190918252602082015260400190565b60405160208183030381529060405280519060200120815260200190815260200160002080546113bd90612bc1565b80601f01602080910402602001604051908101604052809291908181526020018280546113e990612bc1565b80156114365780601f1061140b57610100808354040283529160200191611436565b820191906000526020600020905b81548152906001019060200180831161141957829003601f168201915b5050505050905092915050565b600061144e826107d6565b6001600160a01b0316836001600160a01b031614806106e7575060008281526005602052604090206106e79084611d5f565b6000818152600360205260409020546001600160a01b031661108d57604051635747cd1b60e11b8152600481018290526024016101c8565b606060006106e783611d81565b60006114d0846107d6565b9050856001600160a01b0316816001600160a01b03161461151e57604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016101c8565b6001600160a01b038516611545576040516324ecef4d60e01b815260040160405180910390fd5b6000611550856107d6565b9050806001600160a01b0316826001600160a01b0316146115b7576040517f5a9c31d3000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038084166024830152821660448201526064016101c8565b6115c18786611ddc565b6001600160a01b03871660009081526004602052604090206115e39086611e34565b506001600160a01b03861660009081526004602052604090206116069086611e40565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf9061167a9033908a908a90612d37565b60405180910390a46000338888888760405160200161169d959493929190612d6a565b60405160208183030381529060405290506116b88882611e4c565b6116c3878683611e77565b5050505050505050565b60008181526001602052604090208054606091906116ea90612bc1565b80601f016020809104026020016040519081016040528092919081815260200182805461171690612bc1565b80156117635780601f1061173857610100808354040283529160200191611763565b820191906000526020600020905b81548152906001019060200180831161174657829003601f168201915b50505050509050919050565b6000610688825490565b6000546001600160a01b03163314610a215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101c8565b7f098a16c9e50e3e99b3e797305c146898d294e5aec55a47e213cb3611ccf17e73820161182c576040517f3664800a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c8282611142565b60006106e7836001600160a01b038416611fb1565b610b5c827f8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f0097083612000565b80518251146118b1576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516000036118ec576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610e535761193483828151811061190d5761190d612b13565b602002602001015183838151811061192757611927612b13565b60200260200101516117d3565b6001016118ef565b6001600160a01b038416611963576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b03161561199c576040516334c7b51160e01b8152600481018490526024016101c8565b6000838152600360205260409020546001600160a01b0316156119d5576040516334c7b51160e01b8152600481018490526024016101c8565b6002600081546119e490612dba565b909155506001600160a01b0384166000908152600460205260409020611a0a9084611e40565b50600083815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03881690811790915590518592907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611a7990339088908890612d37565b60405180910390a46000336000868685604051602001611a9d959493929190612d6a565b6040516020818303038152906040529050610893858483611e77565b80600160008585604051602001611ada929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020016000209081611b0a9190612c3b565b5081837fa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb83604051611b3c9190612256565b60405180910390a3505050565b6000838152600560205260408120611b61908761204d565b905080611bac576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602481018590526044016101c8565b83856001600160a01b0316876001600160a01b03167fc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c8686604051611bf2929190612dd3565b60405180910390a4505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080611c6b90612dee565b949350505050565b60006001600160e01b031982167f629aa69400000000000000000000000000000000000000000000000000000000148061068857506301ffc9a760e01b6001600160e01b0319831614610688565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611d48575060208210155b8015611d545750600081115b979650505050505050565b6001600160a01b038116600090815260018301602052604081205415156106e7565b60608160000180548060200260200160405190810160405280929190818152602001828054801561176357602002820191906000526020600020905b815481526020019060010190808311611dbd5750505050509050919050565b600081815260056020526040812090611df48261176f565b90506000805b82811015610ceb57611e0d846000612062565b9150611e2c828787600060405180602001604052806000815250611b49565b600101611dfa565b60006106e7838361206e565b60006106e78383611fb1565b610b5c827fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab0083612000565b611e8883631aed5a8560e21b611cc1565b15611f2257604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611edb907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d908590600401612e12565b6000604051808303816000875af1158015611efa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5c9190810190612e2b565b81610e53576001600160a01b0383163b15611f74576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101c8565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101c8565b6000818152600183016020526040812054611ff857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610688565b506000610688565b61201a6001600160a01b038416631aed5a8560e21b611cc1565b15610e5357604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611edb9085908590600401612e12565b60006106e7836001600160a01b03841661206e565b60006106e78383612161565b60008181526001830160205260408120548015612157576000612092600183612e99565b85549091506000906120a690600190612e99565b905081811461210b5760008660000182815481106120c6576120c6612b13565b90600052602060002001549050808760000184815481106120e9576120e9612b13565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061211c5761211c612eac565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610688565b6000915050610688565b600082600001828154811061217857612178612b13565b9060005260206000200154905092915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6000602082840312156121cc57600080fd5b81356001600160e01b0319811681146106e757600080fd5b600080604083850312156121f757600080fd5b50508035926020909101359150565b60005b83811015612221578181015183820152602001612209565b50506000910152565b60008151808452612242816020860160208601612206565b601f01601f19169290920160200192915050565b6020815260006106e7602083018461222a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156122a8576122a8612269565b604052919050565b600067ffffffffffffffff8211156122ca576122ca612269565b5060051b60200190565b600082601f8301126122e557600080fd5b813560206122fa6122f5836122b0565b61227f565b82815260059290921b8401810191818101908684111561231957600080fd5b8286015b84811015612334578035835291830191830161231d565b509695505050505050565b6000806040838503121561235257600080fd5b823567ffffffffffffffff8082111561236a57600080fd5b612376868387016122d4565b9350602085013591508082111561238c57600080fd5b50612399858286016122d4565b9150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156123f857603f198886030184526123e685835161222a565b945092850192908501906001016123ca565b5092979650505050505050565b60006020828403121561241757600080fd5b5035919050565b80356001600160a01b038116811461243557600080fd5b919050565b6000806040838503121561244d57600080fd5b6124568361241e565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156124a55783516001600160a01b031683529284019291840191600101612480565b50909695505050505050565b8035801515811461243557600080fd5b600067ffffffffffffffff8211156124db576124db612269565b50601f01601f191660200190565b600082601f8301126124fa57600080fd5b81356125086122f5826124c1565b81815284602083860101111561251d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561255257600080fd5b61255b8661241e565b94506125696020870161241e565b93506040860135925061257e606087016124b1565b9150608086013567ffffffffffffffff81111561259a57600080fd5b6125a6888289016124e9565b9150509295509295909350565b600080602083850312156125c657600080fd5b823567ffffffffffffffff808211156125de57600080fd5b818501915085601f8301126125f257600080fd5b81358181111561260157600080fd5b8660208260051b850101111561261657600080fd5b60209290920196919550909350505050565b60006020828403121561263a57600080fd5b6106e78261241e565b600082601f83011261265457600080fd5b813560206126646122f5836122b0565b82815260059290921b8401810191818101908684111561268357600080fd5b8286015b84811015612334576126988161241e565b8352918301918301612687565b600082601f8301126126b657600080fd5b813560206126c66122f5836122b0565b82815260059290921b840181019181810190868411156126e557600080fd5b8286015b84811015612334576126fa816124b1565b83529183019183016126e9565b600082601f83011261271857600080fd5b813560206127286122f5836122b0565b82815260059290921b8401810191818101908684111561274757600080fd5b8286015b8481101561233457803567ffffffffffffffff81111561276b5760008081fd5b6127798986838b01016124e9565b84525091830191830161274b565b600080600080600060a0868803121561279f57600080fd5b853567ffffffffffffffff808211156127b757600080fd5b6127c389838a01612643565b965060208801359150808211156127d957600080fd5b6127e589838a01612643565b955060408801359150808211156127fb57600080fd5b61280789838a016122d4565b9450606088013591508082111561281d57600080fd5b61282989838a016126a5565b9350608088013591508082111561283f57600080fd5b506125a688828901612707565b6000806040838503121561285f57600080fd5b82359150602083013567ffffffffffffffff81111561287d57600080fd5b612399858286016124e9565b60008060006060848603121561289e57600080fd5b6128a78461241e565b925060208401359150604084013567ffffffffffffffff8111156128ca57600080fd5b6128d6868287016124e9565b9150509250925092565b600080604083850312156128f357600080fd5b823567ffffffffffffffff8082111561290b57600080fd5b612917868387016122d4565b9350602085013591508082111561292d57600080fd5b5061239985828601612707565b6020808252825182820181905260009190848201906040850190845b818110156124a557835183529284019291840191600101612956565b6000806000806080858703121561298857600080fd5b6129918561241e565b9350602085013592506129a6604086016124b1565b9150606085013567ffffffffffffffff8111156129c257600080fd5b6129ce878288016124e9565b91505092959194509250565b6000806000606084860312156129ef57600080fd5b833567ffffffffffffffff80821115612a0757600080fd5b612a13878388016122d4565b94506020860135915080821115612a2957600080fd5b612a35878388016122d4565b93506040860135915080821115612a4b57600080fd5b506128d686828701612707565b600080600060608486031215612a6d57600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156128ca57600080fd5b600060208284031215612aa457600080fd5b813567ffffffffffffffff811115612abb57600080fd5b611c6b848285016122d4565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b60008251612b09818460208701612206565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112612b4057600080fd5b83018035915067ffffffffffffffff821115612b5b57600080fd5b602001915036819003821315612b7057600080fd5b9250929050565b8183823760009101908152919050565b6001600160a01b03851681528360208201528215156040820152608060608201526000612bb7608083018461222a565b9695505050505050565b600181811c90821680612bd557607f821691505b602082108103610ffa57634e487b7160e01b600052602260045260246000fd5b601f821115610e5357600081815260208120601f850160051c81016020861015612c1c5750805b601f850160051c820191505b81811015610ceb57828155600101612c28565b815167ffffffffffffffff811115612c5557612c55612269565b612c6981612c638454612bc1565b84612bf5565b602080601f831160018114612c9e5760008415612c865750858301515b600019600386901b1c1916600185901b178555610ceb565b600085815260208120601f198616915b82811015612ccd57888601518255948401946001909101908401612cae565b5085821015612ceb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b805160208201516bffffffffffffffffffffffff198082169291906014831015612d2f5780818460140360031b1b83161693505b505050919050565b6001600160a01b03841681528215156020820152606060408201526000612d61606083018461222a565b95945050505050565b60006001600160a01b038088168352808716602084015280861660408401525083606083015260a06080830152611d5460a083018461222a565b634e487b7160e01b600052601160045260246000fd5b600060018201612dcc57612dcc612da4565b5060010190565b8215158152604060208201526000611c6b604083018461222a565b80516020808301519190811015610ffa5760001960209190910360031b1b16919050565b828152604060208201526000611c6b604083018461222a565b600060208284031215612e3d57600080fd5b815167ffffffffffffffff811115612e5457600080fd5b8201601f81018413612e6557600080fd5b8051612e736122f5826124c1565b818152856020838501011115612e8857600080fd5b612d61826020830160208601612206565b8181038181111561068857610688612da4565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a0ec49f0bc9ee6398e43951bd876245c4f18db01b31cbbd66d35228f504785bc64736f6c63430008110033",
|
|
992
|
-
"deployedBytecode": "0x60806040526004361061018f5760003560e01c80637e87632c116100d6578063af255b611161007f578063db8c966311610059578063db8c96631461051f578063dedff9c61461053f578063f2fde38b1461055f57610203565b8063af255b61146104bf578063be9f0e6f146104df578063d6c1407c146104ff57610203565b80638da5cb5b116100b05780638da5cb5b14610461578063979024211461047f578063a3b261f21461049257610203565b80637e87632c1461040e5780637f23690c1461042e57806386a10ddd1461044157610203565b806349a6078d116101385780636963d438116101125780636963d438146103b957806370a08231146103d9578063715018a6146103f957610203565b806349a6078d1461034a578063511b69521461037757806354f6127f1461039957610203565b80631d26fce6116101695780631d26fce6146102c5578063217b2270146102f25780632a3654a41461032a57610203565b806301ffc9a71461024457806316e023b31461027957806318160ddd146102a657610203565b3661020357346000036101d15760405163e5099ee360e01b81526004016101c89060208082526004908201526000604082015260600190565b60405180910390fd5b6040517f61f4944200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000366060600482101561022e57828260405163e5099ee360e01b81526004016101c892919061218b565b610238838361057f565b80519350602001915050f35b34801561025057600080fd5b5061026461025f3660046121ba565b61068e565b60405190151581526020015b60405180910390f35b34801561028557600080fd5b506102996102943660046121e4565b6106db565b6040516102709190612256565b3480156102b257600080fd5b506002545b604051908152602001610270565b3480156102d157600080fd5b506102e56102e036600461233f565b6106ee565b60405161027091906123a3565b3480156102fe57600080fd5b5061031261030d366004612405565b6107d6565b6040516001600160a01b039091168152602001610270565b34801561033657600080fd5b5061026461034536600461243a565b61080f565b34801561035657600080fd5b5061036a610365366004612405565b61081b565b6040516102709190612464565b34801561038357600080fd5b5061039761039236600461253a565b61083d565b005b3480156103a557600080fd5b506102996103b4366004612405565b61089a565b3480156103c557600080fd5b506102e56103d43660046125b3565b6108a5565b3480156103e557600080fd5b506102b76103f4366004612628565b6109ee565b34801561040557600080fd5b50610397610a0f565b34801561041a57600080fd5b50610397610429366004612787565b610a23565b61039761043c36600461284c565b610b2b565b34801561044d57600080fd5b5061039761045c366004612889565b610b60565b34801561046d57600080fd5b506000546001600160a01b0316610312565b61039761048d3660046128e0565b610cf3565b34801561049e57600080fd5b506104b26104ad366004612628565b610d24565b604051610270919061293a565b3480156104cb57600080fd5b506103976104da366004612972565b610d48565b3480156104eb57600080fd5b506103976104fa3660046129da565b610d62565b34801561050b57600080fd5b5061039761051a366004612a58565b610e40565b34801561052b57600080fd5b5061039761053a366004612972565b610e58565b34801561054b57600080fd5b506102e561055a366004612a92565b610f55565b34801561056b57600080fd5b5061039761057a366004612628565b611000565b606060006105986000356001600160e01b03191661124d565b5090506001600160a01b0381166105e9576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024016101c8565b600080826001600160a01b0316348787333460405160200161060e9493929190612ac7565b60408051601f198184030181529082905261062891612af7565b60006040518083038185875af1925050503d8060008114610665576040519150601f19603f3d011682016040523d82523d6000602084013e61066a565b606091505b5091509150811561067f579250610688915050565b80518060208301fd5b92915050565b60006001600160e01b031982167f3a2717060000000000000000000000000000000000000000000000000000000014806106cc57506106cc826112f7565b80610688575061068882611335565b60606106e7838361136c565b9392505050565b60608151835114610712576040516317d38eff60e11b815260040160405180910390fd5b825167ffffffffffffffff81111561072c5761072c612269565b60405190808252806020026020018201604052801561075f57816020015b606081526020019060019003908161074a5790505b50905060005b83518110156107cf576107aa84828151811061078357610783612b13565b602002602001015184838151811061079d5761079d612b13565b602002602001015161136c565b8282815181106107bc576107bc612b13565b6020908102919091010152600101610765565b5092915050565b6000818152600360205260408120546001600160a01b03168061068857604051635747cd1b60e11b8152600481018490526024016101c8565b60006106e78383611443565b606061082682611480565b6000828152600560205260409020610688906114b8565b6108473384611443565b610886576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018490523360248201526044016101c8565b61089385858585856114c5565b5050505050565b6060610688826116cd565b60608167ffffffffffffffff8111156108c0576108c0612269565b6040519080825280602002602001820160405280156108f357816020015b60608152602001906001900390816108de5790505b50905060005b828110156107cf576000803086868581811061091757610917612b13565b90506020028101906109299190612b29565b604051610937929190612b77565b600060405180830381855af49150503d8060008114610972576040519150601f19603f3d011682016040523d82523d6000602084013e610977565b606091505b5091509150816109c6578051156109915780518082602001fd5b6040517f234eb819000000000000000000000000000000000000000000000000000000008152600481018490526024016101c8565b808484815181106109d9576109d9612b13565b602090810291909101015250506001016108f9565b6001600160a01b03811660009081526004602052604081206106889061176f565b610a17611779565b610a216000611090565b565b8451845181141580610a36575083518114155b80610a42575082518114155b80610a4e575081518114155b15610a85576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b2257610b1a878281518110610aa557610aa5612b13565b6020026020010151878381518110610abf57610abf612b13565b6020026020010151878481518110610ad957610ad9612b13565b6020026020010151878581518110610af357610af3612b13565b6020026020010151878681518110610b0d57610b0d612b13565b602002602001015161083d565b600101610a88565b50505050505050565b610b33611779565b3415610b525760405163f36ba73760e01b815260040160405180910390fd5b610b5c82826117d3565b5050565b6000610b6b836107d6565b90506001600160a01b0381163314610bae57604051632d938f5160e11b81526001600160a01b0382166004820152602481018490523360448201526064016101c8565b6001600160a01b038416610bd557604051639577b8b360e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031603610c07576040516344fed6b160e11b815260040160405180910390fd5b6000838152600560205260408120610c1f9086611836565b905080610c6a576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602481018590526044016101c8565b83826001600160a01b0316866001600160a01b03167f1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc23667121586604051610cae9190612256565b60405180910390a460003385600186604051602001610cd09493929190612b87565b6040516020818303038152906040529050610ceb868261184b565b505050505050565b610cfb611779565b3415610d1a5760405163f36ba73760e01b815260040160405180910390fd5b610b5c8282611876565b6001600160a01b0381166000908152600460205260409020606090610688906114b8565b610d50611779565b610d5c8484848461193c565b50505050565b610d6a611779565b81518351141580610d7d57508051825114155b15610d9b576040516317d38eff60e11b815260040160405180910390fd5b8251600003610dd6576040517f80c9830500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8351811015610d5c57610e38848281518110610df757610df7612b13565b6020026020010151848381518110610e1157610e11612b13565b6020026020010151848481518110610e2b57610e2b612b13565b6020026020010151611ab9565b600101610dd9565b610e48611779565b610e53838383611ab9565b505050565b6000610e63846107d6565b9050336001600160a01b03821614610ecf576001600160a01b0385163314610ecf576040517f760b5acd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382166024820152604481018590526064016101c8565b6001600160a01b038516610ef657604051639577b8b360e01b815260040160405180910390fd5b846001600160a01b0316816001600160a01b031603610f28576040516344fed6b160e11b815260040160405180910390fd5b610f358582868686611b49565b82156108935760008185600085604051602001610cd09493929190612b87565b6060815167ffffffffffffffff811115610f7157610f71612269565b604051908082528060200260200182016040528015610fa457816020015b6060815260200190600190039081610f8f5790505b50905060005b8251811015610ffa57610fd5838281518110610fc857610fc8612b13565b60200260200101516116cd565b828281518110610fe757610fe7612b13565b6020908102919091010152600101610faa565b50919050565b611008611779565b6001600160a01b0381166110845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101c8565b61108d81611090565b50565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008281526001602052604090206111058282612c3b565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516111369190612256565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820161119b576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016111f4576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d82016110ed576040517f4ef6d7fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080806112857fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611c02565b90506000611292826116cd565b905080516014141580156112a65750805115155b156112df57806040517f42bfe79f0000000000000000000000000000000000000000000000000000000081526004016101c89190612256565b6112e881612cfb565b60601c95600195509350505050565b60006001600160e01b031982167fa918fa6b000000000000000000000000000000000000000000000000000000001480610688575061068882611c73565b6000806113486301ffc9a760e01b61124d565b5090506001600160a01b0381166113625750600092915050565b6106e78184611cc1565b606060016000848460405160200161138e929190918252602082015260400190565b60405160208183030381529060405280519060200120815260200190815260200160002080546113bd90612bc1565b80601f01602080910402602001604051908101604052809291908181526020018280546113e990612bc1565b80156114365780601f1061140b57610100808354040283529160200191611436565b820191906000526020600020905b81548152906001019060200180831161141957829003601f168201915b5050505050905092915050565b600061144e826107d6565b6001600160a01b0316836001600160a01b031614806106e7575060008281526005602052604090206106e79084611d5f565b6000818152600360205260409020546001600160a01b031661108d57604051635747cd1b60e11b8152600481018290526024016101c8565b606060006106e783611d81565b60006114d0846107d6565b9050856001600160a01b0316816001600160a01b03161461151e57604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016101c8565b6001600160a01b038516611545576040516324ecef4d60e01b815260040160405180910390fd5b6000611550856107d6565b9050806001600160a01b0316826001600160a01b0316146115b7576040517f5a9c31d3000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038084166024830152821660448201526064016101c8565b6115c18786611ddc565b6001600160a01b03871660009081526004602052604090206115e39086611e34565b506001600160a01b03861660009081526004602052604090206116069086611e40565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf9061167a9033908a908a90612d37565b60405180910390a46000338888888760405160200161169d959493929190612d6a565b60405160208183030381529060405290506116b88882611e4c565b6116c3878683611e77565b5050505050505050565b60008181526001602052604090208054606091906116ea90612bc1565b80601f016020809104026020016040519081016040528092919081815260200182805461171690612bc1565b80156117635780601f1061173857610100808354040283529160200191611763565b820191906000526020600020905b81548152906001019060200180831161174657829003601f168201915b50505050509050919050565b6000610688825490565b6000546001600160a01b03163314610a215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101c8565b7f098a16c9e50e3e99b3e797305c146898d294e5aec55a47e213cb3611ccf17e73820161182c576040517f3664800a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5c8282611142565b60006106e7836001600160a01b038416611fb1565b610b5c827f8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f0097083612000565b80518251146118b1576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516000036118ec576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610e535761193483828151811061190d5761190d612b13565b602002602001015183838151811061192757611927612b13565b60200260200101516117d3565b6001016118ef565b6001600160a01b038416611963576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b03161561199c576040516334c7b51160e01b8152600481018490526024016101c8565b6000838152600360205260409020546001600160a01b0316156119d5576040516334c7b51160e01b8152600481018490526024016101c8565b6002600081546119e490612dba565b909155506001600160a01b0384166000908152600460205260409020611a0a9084611e40565b50600083815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03881690811790915590518592907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611a7990339088908890612d37565b60405180910390a46000336000868685604051602001611a9d959493929190612d6a565b6040516020818303038152906040529050610893858483611e77565b80600160008585604051602001611ada929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020016000209081611b0a9190612c3b565b5081837fa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb83604051611b3c9190612256565b60405180910390a3505050565b6000838152600560205260408120611b61908761204d565b905080611bac576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602481018590526044016101c8565b83856001600160a01b0316876001600160a01b03167fc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c8686604051611bf2929190612dd3565b60405180910390a4505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080611c6b90612dee565b949350505050565b60006001600160e01b031982167f629aa69400000000000000000000000000000000000000000000000000000000148061068857506301ffc9a760e01b6001600160e01b0319831614610688565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611d48575060208210155b8015611d545750600081115b979650505050505050565b6001600160a01b038116600090815260018301602052604081205415156106e7565b60608160000180548060200260200160405190810160405280929190818152602001828054801561176357602002820191906000526020600020905b815481526020019060010190808311611dbd5750505050509050919050565b600081815260056020526040812090611df48261176f565b90506000805b82811015610ceb57611e0d846000612062565b9150611e2c828787600060405180602001604052806000815250611b49565b600101611dfa565b60006106e7838361206e565b60006106e78383611fb1565b610b5c827fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab0083612000565b611e8883631aed5a8560e21b611cc1565b15611f2257604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611edb907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d908590600401612e12565b6000604051808303816000875af1158015611efa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5c9190810190612e2b565b81610e53576001600160a01b0383163b15611f74576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101c8565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101c8565b6000818152600183016020526040812054611ff857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610688565b506000610688565b61201a6001600160a01b038416631aed5a8560e21b611cc1565b15610e5357604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611edb9085908590600401612e12565b60006106e7836001600160a01b03841661206e565b60006106e78383612161565b60008181526001830160205260408120548015612157576000612092600183612e99565b85549091506000906120a690600190612e99565b905081811461210b5760008660000182815481106120c6576120c6612b13565b90600052602060002001549050808760000184815481106120e9576120e9612b13565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061211c5761211c612eac565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610688565b6000915050610688565b600082600001828154811061217857612178612b13565b9060005260206000200154905092915050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6000602082840312156121cc57600080fd5b81356001600160e01b0319811681146106e757600080fd5b600080604083850312156121f757600080fd5b50508035926020909101359150565b60005b83811015612221578181015183820152602001612209565b50506000910152565b60008151808452612242816020860160208601612206565b601f01601f19169290920160200192915050565b6020815260006106e7602083018461222a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156122a8576122a8612269565b604052919050565b600067ffffffffffffffff8211156122ca576122ca612269565b5060051b60200190565b600082601f8301126122e557600080fd5b813560206122fa6122f5836122b0565b61227f565b82815260059290921b8401810191818101908684111561231957600080fd5b8286015b84811015612334578035835291830191830161231d565b509695505050505050565b6000806040838503121561235257600080fd5b823567ffffffffffffffff8082111561236a57600080fd5b612376868387016122d4565b9350602085013591508082111561238c57600080fd5b50612399858286016122d4565b9150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156123f857603f198886030184526123e685835161222a565b945092850192908501906001016123ca565b5092979650505050505050565b60006020828403121561241757600080fd5b5035919050565b80356001600160a01b038116811461243557600080fd5b919050565b6000806040838503121561244d57600080fd5b6124568361241e565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156124a55783516001600160a01b031683529284019291840191600101612480565b50909695505050505050565b8035801515811461243557600080fd5b600067ffffffffffffffff8211156124db576124db612269565b50601f01601f191660200190565b600082601f8301126124fa57600080fd5b81356125086122f5826124c1565b81815284602083860101111561251d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561255257600080fd5b61255b8661241e565b94506125696020870161241e565b93506040860135925061257e606087016124b1565b9150608086013567ffffffffffffffff81111561259a57600080fd5b6125a6888289016124e9565b9150509295509295909350565b600080602083850312156125c657600080fd5b823567ffffffffffffffff808211156125de57600080fd5b818501915085601f8301126125f257600080fd5b81358181111561260157600080fd5b8660208260051b850101111561261657600080fd5b60209290920196919550909350505050565b60006020828403121561263a57600080fd5b6106e78261241e565b600082601f83011261265457600080fd5b813560206126646122f5836122b0565b82815260059290921b8401810191818101908684111561268357600080fd5b8286015b84811015612334576126988161241e565b8352918301918301612687565b600082601f8301126126b657600080fd5b813560206126c66122f5836122b0565b82815260059290921b840181019181810190868411156126e557600080fd5b8286015b84811015612334576126fa816124b1565b83529183019183016126e9565b600082601f83011261271857600080fd5b813560206127286122f5836122b0565b82815260059290921b8401810191818101908684111561274757600080fd5b8286015b8481101561233457803567ffffffffffffffff81111561276b5760008081fd5b6127798986838b01016124e9565b84525091830191830161274b565b600080600080600060a0868803121561279f57600080fd5b853567ffffffffffffffff808211156127b757600080fd5b6127c389838a01612643565b965060208801359150808211156127d957600080fd5b6127e589838a01612643565b955060408801359150808211156127fb57600080fd5b61280789838a016122d4565b9450606088013591508082111561281d57600080fd5b61282989838a016126a5565b9350608088013591508082111561283f57600080fd5b506125a688828901612707565b6000806040838503121561285f57600080fd5b82359150602083013567ffffffffffffffff81111561287d57600080fd5b612399858286016124e9565b60008060006060848603121561289e57600080fd5b6128a78461241e565b925060208401359150604084013567ffffffffffffffff8111156128ca57600080fd5b6128d6868287016124e9565b9150509250925092565b600080604083850312156128f357600080fd5b823567ffffffffffffffff8082111561290b57600080fd5b612917868387016122d4565b9350602085013591508082111561292d57600080fd5b5061239985828601612707565b6020808252825182820181905260009190848201906040850190845b818110156124a557835183529284019291840191600101612956565b6000806000806080858703121561298857600080fd5b6129918561241e565b9350602085013592506129a6604086016124b1565b9150606085013567ffffffffffffffff8111156129c257600080fd5b6129ce878288016124e9565b91505092959194509250565b6000806000606084860312156129ef57600080fd5b833567ffffffffffffffff80821115612a0757600080fd5b612a13878388016122d4565b94506020860135915080821115612a2957600080fd5b612a35878388016122d4565b93506040860135915080821115612a4b57600080fd5b506128d686828701612707565b600080600060608486031215612a6d57600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156128ca57600080fd5b600060208284031215612aa457600080fd5b813567ffffffffffffffff811115612abb57600080fd5b611c6b848285016122d4565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b60008251612b09818460208701612206565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112612b4057600080fd5b83018035915067ffffffffffffffff821115612b5b57600080fd5b602001915036819003821315612b7057600080fd5b9250929050565b8183823760009101908152919050565b6001600160a01b03851681528360208201528215156040820152608060608201526000612bb7608083018461222a565b9695505050505050565b600181811c90821680612bd557607f821691505b602082108103610ffa57634e487b7160e01b600052602260045260246000fd5b601f821115610e5357600081815260208120601f850160051c81016020861015612c1c5750805b601f850160051c820191505b81811015610ceb57828155600101612c28565b815167ffffffffffffffff811115612c5557612c55612269565b612c6981612c638454612bc1565b84612bf5565b602080601f831160018114612c9e5760008415612c865750858301515b600019600386901b1c1916600185901b178555610ceb565b600085815260208120601f198616915b82811015612ccd57888601518255948401946001909101908401612cae565b5085821015612ceb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b805160208201516bffffffffffffffffffffffff198082169291906014831015612d2f5780818460140360031b1b83161693505b505050919050565b6001600160a01b03841681528215156020820152606060408201526000612d61606083018461222a565b95945050505050565b60006001600160a01b038088168352808716602084015280861660408401525083606083015260a06080830152611d5460a083018461222a565b634e487b7160e01b600052601160045260246000fd5b600060018201612dcc57612dcc612da4565b5060010190565b8215158152604060208201526000611c6b604083018461222a565b80516020808301519190811015610ffa5760001960209190910360031b1b16919050565b828152604060208201526000611c6b604083018461222a565b600060208284031215612e3d57600080fd5b815167ffffffffffffffff811115612e5457600080fd5b8201601f81018413612e6557600080fd5b8051612e736122f5826124c1565b818152856020838501011115612e8857600080fd5b612d61826020830160208601612206565b8181038181111561068857610688612da4565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a0ec49f0bc9ee6398e43951bd876245c4f18db01b31cbbd66d35228f504785bc64736f6c63430008110033",
|
|
1352
|
+
"bytecode": "0x608060405234801561000f575f5ffd5b50604051614c42380380614c4283398101604081905261002e91610825565b6001858585858584848484816100433361022e565b6001600160a01b03811661006a576040516306b620db60e21b815260040160405180910390fd5b61007381610251565b506040805180820190915260048152632936598960e21b60208201526100ba907feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c906102a0565b6100e47fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af1856102a0565b61010e7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db932756846102a0565b6040805160208101839052610155917fe0261fa95db2eb3b5439bd033cda66d56b96f92f243a8228fd87550ed7bdfdb3910160408051601f198184030181529190526102a0565b505060408051602081018590526101a093507ff675e9361af1c1664c1868cfa3eb97672d6b1a513aa5b81dec34c9ee330e818d92500160408051601f198184030181529190526102f4565b506101c293505f92506101bd9150505f546001600160a01b031690565b6103b4565b6009805460ff19168215159081179091556040517f41f386d449eec03c1c3b75bbba9c18df70aa19779ff47f68eab4b6a66fb399d4905f90a28015610223576102235f516020614c225f395f51905f526101bd5f546001600160a01b031690565b505050505050610a73565b6102455f516020614c225f395f51905f525f610432565b61024e81610497565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8281526001602052604090206102b7828261093d565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516102e891906109f7565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201610334576040516385c169bd60e01b815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa820161037457604051630eceab6760e31b815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d82016102a057604051634ef6d7fb60e01b815260040160405180910390fd5b5f8281526007602052604081206103cb908361052d565b9050801561042d576001600160a01b0382165f9081526008602052604090206103f4908461054a565b5060405133906001600160a01b0384169085907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d905f90a45b505050565b816104505760405163d0dc904b60e01b815260040160405180910390fd5b5f82815260066020526040808220805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f546001600160a01b03166104ab82610251565b6001600160a01b0381165f9081526008602052604081206104cb90610555565b90505f5b8151811015610527575f8282815181106104eb576104eb610a2c565b60200260200101519050610505818561056860201b60201c565b6001600160a01b0385161561051e5761051e81866103b4565b506001016104cf565b50505050565b5f610541836001600160a01b0384166105e5565b90505b92915050565b5f61054183836105e5565b60605f61056183610631565b9392505050565b5f82815260076020526040812061057f908361068a565b9050801561042d576001600160a01b0382165f9081526008602052604090206105a8908461069e565b5060405133906001600160a01b0384169085907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b905f90a4505050565b5f81815260018301602052604081205461062a57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610544565b505f610544565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561067e57602002820191905f5260205f20905b81548152602001906001019080831161066a575b50505050509050919050565b5f610541836001600160a01b0384166106a5565b5f61054183835b5f818152600183016020526040812054801561077f575f6106c7600183610a40565b85549091505f906106da90600190610a40565b9050818114610739575f865f0182815481106106f8576106f8610a2c565b905f5260205f200154905080875f01848154811061071857610718610a2c565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061074a5761074a610a5f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610544565b5f915050610544565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126107ab575f5ffd5b81516001600160401b038111156107c4576107c4610788565b604051601f8201601f19908116603f011681016001600160401b03811182821017156107f2576107f2610788565b604052818152838201602001851015610809575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f5f60a08688031215610839575f5ffd5b85516001600160401b0381111561084e575f5ffd5b61085a8882890161079c565b602088015190965090506001600160401b03811115610877575f5ffd5b6108838882890161079c565b604088015190955090506001600160a01b03811681146108a1575f5ffd5b6060870151608090970151959894975095949392505050565b600181811c908216806108ce57607f821691505b6020821081036108ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561042d57805f5260205f20601f840160051c810160208510156109175750805b601f840160051c820191505b81811015610936575f8155600101610923565b5050505050565b81516001600160401b0381111561095657610956610788565b61096a8161096484546108ba565b846108f2565b6020601f82116001811461099c575f83156109855750848201515b5f19600385901b1c1916600184901b178455610936565b5f84815260208120601f198516915b828110156109cb57878501518255602094850194600190920191016109ab565b50848210156109e857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561054457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b6141a280610a805f395ff3fe608060405260043610610288575f3560e01c80637e87632c11610152578063a3b261f2116100ca578063d547741f1161007e578063db8c966311610063578063db8c966314610804578063dedff9c614610823578063f2fde38b1461084257610313565b8063d547741f146107c6578063d6c1407c146107e557610313565b8063be9f0e6f116100af578063be9f0e6f14610755578063ca15c87314610774578063d53913931461079357610313565b8063a3b261f214610717578063af255b611461073657610313565b80639010d07c11610121578063979024211161010657806397902421146106d2578063a217fddf146106e5578063a3246ad3146106f857610313565b80639010d07c1461069457806391d14854146106b357610313565b80637e87632c1461061a5780637f23690c1461063957806386a10ddd1461064c5780638da5cb5b1461066b57610313565b80632f2ff15d1161020057806354f6127f116101b457806370a082311161019957806370a08231146105d3578063715018a6146105f25780637e5cd5c11461060657610313565b806354f6127f146105955780636963d438146105b457610313565b806346b45af7116101e557806346b45af71461053157806349a6078d1461054a578063511b69521461057657610313565b80632f2ff15d146104f357806336568abe1461051257610313565b80631e4e009111610257578063248a9ca31161023c578063248a9ca31461047d5780632a3654a4146104a85780632de94807146104c757610313565b80631e4e009114610418578063217b22701461043957610313565b806301ffc9a71461036e57806316e023b3146103a257806318160ddd146103ce5780631d26fce6146103ec57610313565b3661031357345f036102e1576040517fe5099ee30000000000000000000000000000000000000000000000000000000081526004016102d89060208082526004908201525f604082015260600190565b60405180910390fd5b6040517f61f4944200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f36606082826004811015610356576040517fe5099ee30000000000000000000000000000000000000000000000000000000081526004016102d89291906131d7565b50506103628383610861565b80519350602001915050f35b348015610379575f5ffd5b5061038d610388366004613223565b6109f6565b60405190151581526020015b60405180910390f35b3480156103ad575f5ffd5b506103c16103bc366004613262565b610a0f565b60405161039991906132ce565b3480156103d9575f5ffd5b506002545b604051908152602001610399565b3480156103f7575f5ffd5b5061040b6104063660046133e9565b610a22565b604051610399919061344e565b348015610423575f5ffd5b50610437610432366004613262565b610b22565b005b348015610444575f5ffd5b506104586104533660046134cf565b610b3b565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610399565b348015610488575f5ffd5b506103de6104973660046134cf565b5f9081526006602052604090205490565b3480156104b3575f5ffd5b5061038d6104c236600461350e565b610b9a565b3480156104d2575f5ffd5b506104e66104e1366004613536565b610ba5565b604051610399919061354f565b3480156104fe575f5ffd5b5061043761050d366004613591565b610bd5565b34801561051d575f5ffd5b5061043761052c366004613591565b610bf6565b34801561053c575f5ffd5b5060095461038d9060ff1681565b348015610555575f5ffd5b506105696105643660046134cf565b610cd2565b60405161039991906135bb565b348015610581575f5ffd5b506104376105903660046136a9565b610cf3565b3480156105a0575f5ffd5b506103c16105af3660046134cf565b610d6c565b3480156105bf575f5ffd5b5061040b6105ce36600461371d565b610d77565b3480156105de575f5ffd5b506103de6105ed366004613536565b610ebb565b3480156105fd575f5ffd5b50610437610ee8565b348015610611575f5ffd5b50610437610efb565b348015610625575f5ffd5b506104376106343660046138d1565b610f93565b6104376106473660046139a7565b611098565b348015610657575f5ffd5b506104376106663660046139e1565b6110e2565b348015610676575f5ffd5b505f5473ffffffffffffffffffffffffffffffffffffffff16610458565b34801561069f575f5ffd5b506104586106ae366004613262565b611332565b3480156106be575f5ffd5b5061038d6106cd366004613591565b611349565b6104376106e0366004613a34565b611354565b3480156106f0575f5ffd5b506103de5f81565b348015610703575f5ffd5b506105696107123660046134cf565b61139e565b348015610722575f5ffd5b506104e6610731366004613536565b6113b7565b348015610741575f5ffd5b50610437610750366004613a8f565b6113e7565b348015610760575f5ffd5b5061043761076f366004613af3565b61141d565b34801561077f575f5ffd5b506103de61078e3660046134cf565b611516565b34801561079e575f5ffd5b506103de7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b3480156107d1575f5ffd5b506104376107e0366004613591565b61152c565b3480156107f0575f5ffd5b506104376107ff366004613b77565b6115cf565b34801561080f575f5ffd5b5061043761081e366004613a8f565b6115e2565b34801561082e575f5ffd5b5061040b61083d366004613bad565b611765565b34801561084d575f5ffd5b5061043761085c366004613536565b61180f565b60605f6108905f357fffffffff00000000000000000000000000000000000000000000000000000000166118c6565b5090507fffffffff000000000000000000000000000000000000000000000000000000005f351673ffffffffffffffffffffffffffffffffffffffff8216610929576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000090911660048201526024016102d8565b505f5f8273ffffffffffffffffffffffffffffffffffffffff16348787333460405160200161095b9493929190613bdf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261099391613c22565b5f6040518083038185875af1925050503d805f81146109cd576040519150601f19603f3d011682016040523d82523d5f602084013e6109d2565b606091505b509150915081156109e75792506109f0915050565b80518060208301fd5b92915050565b5f610a0082611984565b806109f057506109f082611a67565b6060610a1b8383611acb565b9392505050565b60608151835114610a5f576040517f2fa71dfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825167ffffffffffffffff811115610a7957610a796132e0565b604051908082528060200260200182016040528015610aac57816020015b6060815260200190600190039081610a975790505b5090505f5b8351811015610b1b57610af6848281518110610acf57610acf613c38565b6020026020010151848381518110610ae957610ae9613c38565b6020026020010151611acb565b828281518110610b0857610b08613c38565b6020908102919091010152600101610ab1565b5092915050565b5f610b2c81611b9e565b610b368383611ba8565b505050565b5f8181526003602052604081205473ffffffffffffffffffffffffffffffffffffffff168281610b1b576040517fae8f9a360000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b5f610a1b8383611c26565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526008602052604090206060906109f090611c7b565b5f82815260066020526040902054610bec81611b9e565b610b368383611c87565b73ffffffffffffffffffffffffffffffffffffffff81163314610c45576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158015610c6957505f5473ffffffffffffffffffffffffffffffffffffffff1633145b1533839091610cc2576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050610cce8233611d1e565b5050565b6060610cdd82611db5565b5f8281526005602052604090206109f090611c7b565b610cfd3384611c26565b83339091610d56576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff1660248201526044016102d8565b5050610d658585858585611e16565b5050505050565b60606109f0826120bf565b60608167ffffffffffffffff811115610d9257610d926132e0565b604051908082528060200260200182016040528015610dc557816020015b6060815260200190600190039081610db05790505b5090505f5b82811015610b1b575f8030868685818110610de757610de7613c38565b9050602002810190610df99190613c65565b604051610e07929190613ccd565b5f60405180830381855af49150503d805f8114610e3f576040519150601f19603f3d011682016040523d82523d5f602084013e610e44565b606091505b509150915081610e9357805115610e5e5780518082602001fd5b6040517f234eb819000000000000000000000000000000000000000000000000000000008152600481018490526024016102d8565b80848481518110610ea657610ea6613c38565b60209081029190910101525050600101610dca565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526004602052604081206109f09061215e565b610ef0612167565b610ef95f6121e7565b565b610f03612167565b60095460ff16610f3f576040517f4d8af03d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040515f907f41f386d449eec03c1c3b75bbba9c18df70aa19779ff47f68eab4b6a66fb399d4908290a2565b8451845181148015610fa55750835181145b8015610fb15750825181145b8015610fbd5750815181145b610ff3576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8181101561108f5761108787828151811061101257611012613c38565b602002602001015187838151811061102c5761102c613c38565b602002602001015187848151811061104657611046613c38565b602002602001015187858151811061106057611060613c38565b602002602001015187868151811061107a5761107a613c38565b6020026020010151610cf3565b600101610ff5565b50505050505050565b6110a0612167565b34156110d8576040517ff36ba73700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cce828261221a565b5f6110ec83610b3b565b905080833373ffffffffffffffffffffffffffffffffffffffff83168114611169576040517f5b271ea200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384166004820152602481019290925290911660448201526064016102d8565b50505073ffffffffffffffffffffffffffffffffffffffff84166111b9576040517f9577b8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361121e576040517f89fdad6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600560205260408120611235908661227d565b905084848261128e576040517fa7626b6800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050838273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215866040516112ee91906132ce565b60405180910390a45f338560018660405160200161130f9493929190613cdc565b604051602081830303815290604052905061132a868261229e565b505050505050565b5f828152600760205260408120610a1b90836122c9565b5f610a1b83836122d4565b61135c612167565b3415611394576040517ff36ba73700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cce82826122eb565b5f8181526007602052604090206060906109f090611c7b565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526004602052604090206060906109f090611c7b565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661141181611b9e565b610d65858585856123af565b611425612167565b81518351148015611437575080518251145b61146d576040517f2fa71dfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82515f036114a7576040517f80c9830500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8351811015611510576115088482815181106114c7576114c7613c38565b60200260200101518483815181106114e1576114e1613c38565b60200260200101518484815181106114fb576114fb613c38565b60200260200101516123f7565b6001016114a9565b50505050565b5f8181526007602052604081206109f09061215e565b5f8281526006602052604090205461154381611b9e565b8215801561156a57505f5473ffffffffffffffffffffffffffffffffffffffff8381169116145b15828490916115c3576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050610b368383611d1e565b6115d7612167565b610b368383836123f7565b5f6115ec84610b3b565b90503373ffffffffffffffffffffffffffffffffffffffff8216146116885733818573ffffffffffffffffffffffffffffffffffffffff88168314611684576040517f760b5acd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016102d8565b5050505b73ffffffffffffffffffffffffffffffffffffffff85166116d5576040517f9577b8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361173a576040517f89fdad6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117478582868686612485565b8215610d65575f81855f8560405160200161130f9493929190613cdc565b6060815167ffffffffffffffff811115611781576117816132e0565b6040519080825280602002602001820160405280156117b457816020015b606081526020019060019003908161179f5790505b5090505f5b8251811015611809576117e48382815181106117d7576117d7613c38565b60200260200101516120bf565b8282815181106117f6576117f6613c38565b60209081029190910101526001016117b9565b50919050565b611817612167565b73ffffffffffffffffffffffffffffffffffffffff81166118ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d8565b6118c3816121e7565b50565b5f80806119157fcee78b4094da86011096000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008616612567565b90505f611921826120bf565b905080516014148061193257508051155b819061196b576040517f42bfe79f0000000000000000000000000000000000000000000000000000000081526004016102d891906132ce565b5061197581613d22565b60601c95600195509350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480611a1657507fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f00000000000000000000000000000000000000000000000000000000145b806109f057507fffffffff0000000000000000000000000000000000000000000000000000000082167f90832245000000000000000000000000000000000000000000000000000000001492915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f3a271706000000000000000000000000000000000000000000000000000000001480611abc5750611abc826125ea565b806109f057506109f08261263f565b606060015f8484604051602001611aec929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020015f208054611b1a90613d8e565b80601f0160208091040260200160405190810160405280929190818152602001828054611b4690613d8e565b8015611b915780601f10611b6857610100808354040283529160200191611b91565b820191905f5260205f20905b815481529060010190602001808311611b7457829003601f168201915b5050505050905092915050565b6118c3813361269a565b81611bdf576040517fd0dc904b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82815260066020526040808220805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f611c3082610b3b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610a1b57505f828152600560205260409020610a1b90846126fc565b60605f610a1b8361272a565b5f828152600760205260408120611c9e908361227d565b90508015610b365773ffffffffffffffffffffffffffffffffffffffff82165f908152600860205260409020611cd49084612782565b50604051339073ffffffffffffffffffffffffffffffffffffffff84169085907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d905f90a4505050565b5f828152600760205260408120611d35908361278d565b90508015610b365773ffffffffffffffffffffffffffffffffffffffff82165f908152600860205260409020611d6b90846127ae565b50604051339073ffffffffffffffffffffffffffffffffffffffff84169085907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b905f90a4505050565b5f8181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1615158190610cce576040517fae8f9a360000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b5f611e2084610b3b565b905080848773ffffffffffffffffffffffffffffffffffffffff81811690841614611ea0576040517f5b271ea200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384166004820152602481019290925290911660448201526064016102d8565b50505073ffffffffffffffffffffffffffffffffffffffff8516611ef0576040517f24ecef4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611efa85610b3b565b905084828273ffffffffffffffffffffffffffffffffffffffff80821690831614611f78576040517f5a9c31d3000000000000000000000000000000000000000000000000000000008152600481019390935273ffffffffffffffffffffffffffffffffffffffff91821660248401521660448201526064016102d8565b505050611f8587866127b9565b73ffffffffffffffffffffffffffffffffffffffff87165f908152600460205260409020611fb390866127ae565b5073ffffffffffffffffffffffffffffffffffffffff86165f908152600460205260409020611fe29086612782565b505f858152600360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf9061206d9033908a908a90613dd9565b60405180910390a45f338888888760405160200161208f959493929190613e18565b60405160208183030381529060405290506120aa888261280c565b6120b5878683612837565b5050505050505050565b5f8181526001602052604090208054606091906120db90613d8e565b80601f016020809104026020016040519081016040528092919081815260200182805461210790613d8e565b80156121525780601f1061212957610100808354040283529160200191612152565b820191905f5260205f20905b81548152906001019060200180831161213557829003601f168201915b50505050509050919050565b5f6109f0825490565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ef9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d8565b6122117f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a65f611ba8565b6118c3816129f0565b7f098a16c9e50e3e99b3e797305c146898d294e5aec55a47e213cb3611ccf17e738201612273576040517f3664800a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cce8282612aa1565b5f610a1b8373ffffffffffffffffffffffffffffffffffffffff8416612c00565b610cce827f8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f0097083612c4c565b5f610a1b8383612ce5565b5f828152600760205260408120610a1b90836126fc565b8051825114612326576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81515f03612360576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8251811015610b36576123a783828151811061238057612380613c38565b602002602001015183838151811061239a5761239a613c38565b602002602001015161221a565b600101612362565b60095460ff166123eb576040517f4d8af03d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61151084848484612d0b565b8060015f8585604051602001612417929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020015f2090816124469190613ec8565b5081837fa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb8360405161247891906132ce565b60405180910390a3505050565b5f83815260056020526040812061249c908761278d565b90508584826124f5576040517f4aa31a8c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c8686604051612557929190613fdf565b60405180910390a4505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201525f602a82018190527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008416602c830152918291016040516020818303038152906040529050806125e290613ff9565b949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa918fa6b0000000000000000000000000000000000000000000000000000000014806109f057506109f082612f1e565b5f8061266a7f01ffc9a7000000000000000000000000000000000000000000000000000000006118c6565b50905073ffffffffffffffffffffffffffffffffffffffff811661269057505f92915050565b610a1b8184612fb4565b6126a482826122d4565b81839091611510576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001830160205260408120541515610a1b565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561215257602002820191905f5260205f20905b8154815260200190600101908083116127635750505050509050919050565b5f610a1b8383612c00565b5f610a1b8373ffffffffffffffffffffffffffffffffffffffff8416613080565b5f610a1b8383613080565b5f818152600560205260408120906127d08261215e565b90505f5f5b8281101561132a576127e7845f6122c9565b91506128048287875f60405180602001604052805f815250612485565b6001016127d5565b610cce827fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab0083612c4c565b612861837f6bb56a1400000000000000000000000000000000000000000000000000000000612fb4565b1561293a576040517f6bb56a1400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690636bb56a14906128da907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d90859060040161403b565b5f604051808303815f875af11580156128f5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115109190810190614053565b81610b365773ffffffffffffffffffffffffffffffffffffffff83163b156129a6576040517f4349776d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016102d8565b6040517f0317313700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016102d8565b5f5473ffffffffffffffffffffffffffffffffffffffff16612a1182613163565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600860205260408120612a3e90611c7b565b90505f5b8151811015611510575f828281518110612a5e57612a5e613c38565b60200260200101519050612a728185611d1e565b73ffffffffffffffffffffffffffffffffffffffff851615612a9857612a988186611c87565b50600101612a42565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201612afa576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201612b53576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d8201612bac576040517f4ef6d7fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160205260409020612bc38282613ec8565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051612bf491906132ce565b60405180910390a25050565b5f818152600183016020526040812054612c4557508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556109f0565b505f6109f0565b612c8c73ffffffffffffffffffffffffffffffffffffffff84167f6bb56a1400000000000000000000000000000000000000000000000000000000612fb4565b15610b36576040517f6bb56a1400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690636bb56a14906128da908590859060040161403b565b5f825f018281548110612cfa57612cfa613c38565b905f5260205f200154905092915050565b73ffffffffffffffffffffffffffffffffffffffff8416612d58576040517f24ecef4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83815260036020526040902054839073ffffffffffffffffffffffffffffffffffffffff1615612db8576040517f34c7b5110000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b505f83815260036020526040902054839073ffffffffffffffffffffffffffffffffffffffff1615612e19576040517f34c7b5110000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b5060025f8154612e28906140f5565b9091555073ffffffffffffffffffffffffffffffffffffffff84165f908152600460205260409020612e5a9084612782565b505f8381526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915590518592907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90612ee090339088908890613dd9565b60405180910390a45f335f868685604051602001612f02959493929190613e18565b6040516020818303038152906040529050610d65858483612837565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f629aa6940000000000000000000000000000000000000000000000000000000014806109f057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146109f0565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282515f9392849283928392918391908a617530fa92503d91505f51905082801561306a575060208210155b801561307557505f81115b979650505050505050565b5f818152600183016020526040812054801561315a575f6130a260018361412c565b85549091505f906130b59060019061412c565b9050818114613114575f865f0182815481106130d3576130d3613c38565b905f5260205f200154905080875f0184815481106130f3576130f3613c38565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806131255761312561413f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506109f0565b5f9150506109f0565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b5f60208284031215613233575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a1b575f5ffd5b5f5f60408385031215613273575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610a1b6020830184613282565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613354576133546132e0565b604052919050565b5f67ffffffffffffffff821115613375576133756132e0565b5060051b60200190565b5f82601f83011261338e575f5ffd5b81356133a161339c8261335c565b61330d565b8082825260208201915060208360051b8601019250858311156133c2575f5ffd5b602085015b838110156133df5780358352602092830192016133c7565b5095945050505050565b5f5f604083850312156133fa575f5ffd5b823567ffffffffffffffff811115613410575f5ffd5b61341c8582860161337f565b925050602083013567ffffffffffffffff811115613438575f5ffd5b6134448582860161337f565b9150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156134c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526134ae858351613282565b94506020938401939190910190600101613474565b50929695505050505050565b5f602082840312156134df575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613509575f5ffd5b919050565b5f5f6040838503121561351f575f5ffd5b613528836134e6565b946020939093013593505050565b5f60208284031215613546575f5ffd5b610a1b826134e6565b602080825282518282018190525f918401906040840190835b81811015613586578351835260209384019390920191600101613568565b509095945050505050565b5f5f604083850312156135a2575f5ffd5b823591506135b2602084016134e6565b90509250929050565b602080825282518282018190525f918401906040840190835b8181101561358657835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016135d4565b80358015158114613509575f5ffd5b5f67ffffffffffffffff821115613630576136306132e0565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f83011261366b575f5ffd5b813561367961339c82613617565b81815284602083860101111561368d575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a086880312156136bd575f5ffd5b6136c6866134e6565b94506136d4602087016134e6565b9350604086013592506136e960608701613608565b9150608086013567ffffffffffffffff811115613704575f5ffd5b6137108882890161365c565b9150509295509295909350565b5f5f6020838503121561372e575f5ffd5b823567ffffffffffffffff811115613744575f5ffd5b8301601f81018513613754575f5ffd5b803567ffffffffffffffff81111561376a575f5ffd5b8560208260051b840101111561377e575f5ffd5b6020919091019590945092505050565b5f82601f83011261379d575f5ffd5b81356137ab61339c8261335c565b8082825260208201915060208360051b8601019250858311156137cc575f5ffd5b602085015b838110156133df576137e2816134e6565b8352602092830192016137d1565b5f82601f8301126137ff575f5ffd5b813561380d61339c8261335c565b8082825260208201915060208360051b86010192508583111561382e575f5ffd5b602085015b838110156133df5761384481613608565b835260209283019201613833565b5f82601f830112613861575f5ffd5b813561386f61339c8261335c565b8082825260208201915060208360051b860101925085831115613890575f5ffd5b602085015b838110156133df57803567ffffffffffffffff8111156138b3575f5ffd5b6138c2886020838a010161365c565b84525060209283019201613895565b5f5f5f5f5f60a086880312156138e5575f5ffd5b853567ffffffffffffffff8111156138fb575f5ffd5b6139078882890161378e565b955050602086013567ffffffffffffffff811115613923575f5ffd5b61392f8882890161378e565b945050604086013567ffffffffffffffff81111561394b575f5ffd5b6139578882890161337f565b935050606086013567ffffffffffffffff811115613973575f5ffd5b61397f888289016137f0565b925050608086013567ffffffffffffffff81111561399b575f5ffd5b61371088828901613852565b5f5f604083850312156139b8575f5ffd5b82359150602083013567ffffffffffffffff8111156139d5575f5ffd5b6134448582860161365c565b5f5f5f606084860312156139f3575f5ffd5b6139fc846134e6565b925060208401359150604084013567ffffffffffffffff811115613a1e575f5ffd5b613a2a8682870161365c565b9150509250925092565b5f5f60408385031215613a45575f5ffd5b823567ffffffffffffffff811115613a5b575f5ffd5b613a678582860161337f565b925050602083013567ffffffffffffffff811115613a83575f5ffd5b61344485828601613852565b5f5f5f5f60808587031215613aa2575f5ffd5b613aab856134e6565b935060208501359250613ac060408601613608565b9150606085013567ffffffffffffffff811115613adb575f5ffd5b613ae78782880161365c565b91505092959194509250565b5f5f5f60608486031215613b05575f5ffd5b833567ffffffffffffffff811115613b1b575f5ffd5b613b278682870161337f565b935050602084013567ffffffffffffffff811115613b43575f5ffd5b613b4f8682870161337f565b925050604084013567ffffffffffffffff811115613b6b575f5ffd5b613a2a86828701613852565b5f5f5f60608486031215613b89575f5ffd5b8335925060208401359150604084013567ffffffffffffffff811115613a1e575f5ffd5b5f60208284031215613bbd575f5ffd5b813567ffffffffffffffff811115613bd3575f5ffd5b6125e28482850161337f565b8385823760609290921b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016919092019081526014810191909152603401919050565b5f82518060208501845e5f920191825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c98575f5ffd5b83018035915067ffffffffffffffff821115613cb2575f5ffd5b602001915036819003821315613cc6575f5ffd5b9250929050565b818382375f9101908152919050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528215156040820152608060608201525f613d186080830184613282565b9695505050505050565b805160208201517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000811691906014821015613d87577fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808360140360031b1b82161692505b5050919050565b600181811c90821680613da257607f821691505b602082108103611809577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff841681528215156020820152606060408201525f613e0f6060830184613282565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015273ffffffffffffffffffffffffffffffffffffffff8416604082015282606082015260a060808201525f61307560a0830184613282565b601f821115610b3657805f5260205f20601f840160051c81016020851015613ea95750805b601f840160051c820191505b81811015610d65575f8155600101613eb5565b815167ffffffffffffffff811115613ee257613ee26132e0565b613ef681613ef08454613d8e565b84613e84565b6020601f821160018114613f47575f8315613f115750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610d65565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015613f945787850151825560209485019460019092019101613f74565b5084821015613fd057868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b8215158152604060208201525f6125e26040830184613282565b80516020808301519190811015611809577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b828152604060208201525f6125e26040830184613282565b5f60208284031215614063575f5ffd5b815167ffffffffffffffff811115614079575f5ffd5b8201601f81018413614089575f5ffd5b805161409761339c82613617565b8181528560208385010111156140ab575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614125576141256140c8565b5060010190565b818103818111156109f0576109f06140c8565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea26469706673582212203758e2efd5ee1265dcd1f3f438a8d6a2b5f387d5a6819184aab686d29fbbc4bb64736f6c634300081c00339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6",
|
|
1353
|
+
"deployedBytecode": "0x608060405260043610610288575f3560e01c80637e87632c11610152578063a3b261f2116100ca578063d547741f1161007e578063db8c966311610063578063db8c966314610804578063dedff9c614610823578063f2fde38b1461084257610313565b8063d547741f146107c6578063d6c1407c146107e557610313565b8063be9f0e6f116100af578063be9f0e6f14610755578063ca15c87314610774578063d53913931461079357610313565b8063a3b261f214610717578063af255b611461073657610313565b80639010d07c11610121578063979024211161010657806397902421146106d2578063a217fddf146106e5578063a3246ad3146106f857610313565b80639010d07c1461069457806391d14854146106b357610313565b80637e87632c1461061a5780637f23690c1461063957806386a10ddd1461064c5780638da5cb5b1461066b57610313565b80632f2ff15d1161020057806354f6127f116101b457806370a082311161019957806370a08231146105d3578063715018a6146105f25780637e5cd5c11461060657610313565b806354f6127f146105955780636963d438146105b457610313565b806346b45af7116101e557806346b45af71461053157806349a6078d1461054a578063511b69521461057657610313565b80632f2ff15d146104f357806336568abe1461051257610313565b80631e4e009111610257578063248a9ca31161023c578063248a9ca31461047d5780632a3654a4146104a85780632de94807146104c757610313565b80631e4e009114610418578063217b22701461043957610313565b806301ffc9a71461036e57806316e023b3146103a257806318160ddd146103ce5780631d26fce6146103ec57610313565b3661031357345f036102e1576040517fe5099ee30000000000000000000000000000000000000000000000000000000081526004016102d89060208082526004908201525f604082015260600190565b60405180910390fd5b6040517f61f4944200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f36606082826004811015610356576040517fe5099ee30000000000000000000000000000000000000000000000000000000081526004016102d89291906131d7565b50506103628383610861565b80519350602001915050f35b348015610379575f5ffd5b5061038d610388366004613223565b6109f6565b60405190151581526020015b60405180910390f35b3480156103ad575f5ffd5b506103c16103bc366004613262565b610a0f565b60405161039991906132ce565b3480156103d9575f5ffd5b506002545b604051908152602001610399565b3480156103f7575f5ffd5b5061040b6104063660046133e9565b610a22565b604051610399919061344e565b348015610423575f5ffd5b50610437610432366004613262565b610b22565b005b348015610444575f5ffd5b506104586104533660046134cf565b610b3b565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610399565b348015610488575f5ffd5b506103de6104973660046134cf565b5f9081526006602052604090205490565b3480156104b3575f5ffd5b5061038d6104c236600461350e565b610b9a565b3480156104d2575f5ffd5b506104e66104e1366004613536565b610ba5565b604051610399919061354f565b3480156104fe575f5ffd5b5061043761050d366004613591565b610bd5565b34801561051d575f5ffd5b5061043761052c366004613591565b610bf6565b34801561053c575f5ffd5b5060095461038d9060ff1681565b348015610555575f5ffd5b506105696105643660046134cf565b610cd2565b60405161039991906135bb565b348015610581575f5ffd5b506104376105903660046136a9565b610cf3565b3480156105a0575f5ffd5b506103c16105af3660046134cf565b610d6c565b3480156105bf575f5ffd5b5061040b6105ce36600461371d565b610d77565b3480156105de575f5ffd5b506103de6105ed366004613536565b610ebb565b3480156105fd575f5ffd5b50610437610ee8565b348015610611575f5ffd5b50610437610efb565b348015610625575f5ffd5b506104376106343660046138d1565b610f93565b6104376106473660046139a7565b611098565b348015610657575f5ffd5b506104376106663660046139e1565b6110e2565b348015610676575f5ffd5b505f5473ffffffffffffffffffffffffffffffffffffffff16610458565b34801561069f575f5ffd5b506104586106ae366004613262565b611332565b3480156106be575f5ffd5b5061038d6106cd366004613591565b611349565b6104376106e0366004613a34565b611354565b3480156106f0575f5ffd5b506103de5f81565b348015610703575f5ffd5b506105696107123660046134cf565b61139e565b348015610722575f5ffd5b506104e6610731366004613536565b6113b7565b348015610741575f5ffd5b50610437610750366004613a8f565b6113e7565b348015610760575f5ffd5b5061043761076f366004613af3565b61141d565b34801561077f575f5ffd5b506103de61078e3660046134cf565b611516565b34801561079e575f5ffd5b506103de7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b3480156107d1575f5ffd5b506104376107e0366004613591565b61152c565b3480156107f0575f5ffd5b506104376107ff366004613b77565b6115cf565b34801561080f575f5ffd5b5061043761081e366004613a8f565b6115e2565b34801561082e575f5ffd5b5061040b61083d366004613bad565b611765565b34801561084d575f5ffd5b5061043761085c366004613536565b61180f565b60605f6108905f357fffffffff00000000000000000000000000000000000000000000000000000000166118c6565b5090507fffffffff000000000000000000000000000000000000000000000000000000005f351673ffffffffffffffffffffffffffffffffffffffff8216610929576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000090911660048201526024016102d8565b505f5f8273ffffffffffffffffffffffffffffffffffffffff16348787333460405160200161095b9493929190613bdf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261099391613c22565b5f6040518083038185875af1925050503d805f81146109cd576040519150601f19603f3d011682016040523d82523d5f602084013e6109d2565b606091505b509150915081156109e75792506109f0915050565b80518060208301fd5b92915050565b5f610a0082611984565b806109f057506109f082611a67565b6060610a1b8383611acb565b9392505050565b60608151835114610a5f576040517f2fa71dfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825167ffffffffffffffff811115610a7957610a796132e0565b604051908082528060200260200182016040528015610aac57816020015b6060815260200190600190039081610a975790505b5090505f5b8351811015610b1b57610af6848281518110610acf57610acf613c38565b6020026020010151848381518110610ae957610ae9613c38565b6020026020010151611acb565b828281518110610b0857610b08613c38565b6020908102919091010152600101610ab1565b5092915050565b5f610b2c81611b9e565b610b368383611ba8565b505050565b5f8181526003602052604081205473ffffffffffffffffffffffffffffffffffffffff168281610b1b576040517fae8f9a360000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b5f610a1b8383611c26565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526008602052604090206060906109f090611c7b565b5f82815260066020526040902054610bec81611b9e565b610b368383611c87565b73ffffffffffffffffffffffffffffffffffffffff81163314610c45576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158015610c6957505f5473ffffffffffffffffffffffffffffffffffffffff1633145b1533839091610cc2576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050610cce8233611d1e565b5050565b6060610cdd82611db5565b5f8281526005602052604090206109f090611c7b565b610cfd3384611c26565b83339091610d56576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff1660248201526044016102d8565b5050610d658585858585611e16565b5050505050565b60606109f0826120bf565b60608167ffffffffffffffff811115610d9257610d926132e0565b604051908082528060200260200182016040528015610dc557816020015b6060815260200190600190039081610db05790505b5090505f5b82811015610b1b575f8030868685818110610de757610de7613c38565b9050602002810190610df99190613c65565b604051610e07929190613ccd565b5f60405180830381855af49150503d805f8114610e3f576040519150601f19603f3d011682016040523d82523d5f602084013e610e44565b606091505b509150915081610e9357805115610e5e5780518082602001fd5b6040517f234eb819000000000000000000000000000000000000000000000000000000008152600481018490526024016102d8565b80848481518110610ea657610ea6613c38565b60209081029190910101525050600101610dca565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526004602052604081206109f09061215e565b610ef0612167565b610ef95f6121e7565b565b610f03612167565b60095460ff16610f3f576040517f4d8af03d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040515f907f41f386d449eec03c1c3b75bbba9c18df70aa19779ff47f68eab4b6a66fb399d4908290a2565b8451845181148015610fa55750835181145b8015610fb15750825181145b8015610fbd5750815181145b610ff3576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8181101561108f5761108787828151811061101257611012613c38565b602002602001015187838151811061102c5761102c613c38565b602002602001015187848151811061104657611046613c38565b602002602001015187858151811061106057611060613c38565b602002602001015187868151811061107a5761107a613c38565b6020026020010151610cf3565b600101610ff5565b50505050505050565b6110a0612167565b34156110d8576040517ff36ba73700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cce828261221a565b5f6110ec83610b3b565b905080833373ffffffffffffffffffffffffffffffffffffffff83168114611169576040517f5b271ea200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384166004820152602481019290925290911660448201526064016102d8565b50505073ffffffffffffffffffffffffffffffffffffffff84166111b9576040517f9577b8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361121e576040517f89fdad6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152600560205260408120611235908661227d565b905084848261128e576040517fa7626b6800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050838273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc236671215866040516112ee91906132ce565b60405180910390a45f338560018660405160200161130f9493929190613cdc565b604051602081830303815290604052905061132a868261229e565b505050505050565b5f828152600760205260408120610a1b90836122c9565b5f610a1b83836122d4565b61135c612167565b3415611394576040517ff36ba73700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cce82826122eb565b5f8181526007602052604090206060906109f090611c7b565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526004602052604090206060906109f090611c7b565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661141181611b9e565b610d65858585856123af565b611425612167565b81518351148015611437575080518251145b61146d576040517f2fa71dfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82515f036114a7576040517f80c9830500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8351811015611510576115088482815181106114c7576114c7613c38565b60200260200101518483815181106114e1576114e1613c38565b60200260200101518484815181106114fb576114fb613c38565b60200260200101516123f7565b6001016114a9565b50505050565b5f8181526007602052604081206109f09061215e565b5f8281526006602052604090205461154381611b9e565b8215801561156a57505f5473ffffffffffffffffffffffffffffffffffffffff8381169116145b15828490916115c3576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050610b368383611d1e565b6115d7612167565b610b368383836123f7565b5f6115ec84610b3b565b90503373ffffffffffffffffffffffffffffffffffffffff8216146116885733818573ffffffffffffffffffffffffffffffffffffffff88168314611684576040517f760b5acd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016102d8565b5050505b73ffffffffffffffffffffffffffffffffffffffff85166116d5576040517f9577b8b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361173a576040517f89fdad6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117478582868686612485565b8215610d65575f81855f8560405160200161130f9493929190613cdc565b6060815167ffffffffffffffff811115611781576117816132e0565b6040519080825280602002602001820160405280156117b457816020015b606081526020019060019003908161179f5790505b5090505f5b8251811015611809576117e48382815181106117d7576117d7613c38565b60200260200101516120bf565b8282815181106117f6576117f6613c38565b60209081029190910101526001016117b9565b50919050565b611817612167565b73ffffffffffffffffffffffffffffffffffffffff81166118ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d8565b6118c3816121e7565b50565b5f80806119157fcee78b4094da86011096000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008616612567565b90505f611921826120bf565b905080516014148061193257508051155b819061196b576040517f42bfe79f0000000000000000000000000000000000000000000000000000000081526004016102d891906132ce565b5061197581613d22565b60601c95600195509350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480611a1657507fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f00000000000000000000000000000000000000000000000000000000145b806109f057507fffffffff0000000000000000000000000000000000000000000000000000000082167f90832245000000000000000000000000000000000000000000000000000000001492915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f3a271706000000000000000000000000000000000000000000000000000000001480611abc5750611abc826125ea565b806109f057506109f08261263f565b606060015f8484604051602001611aec929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020015f208054611b1a90613d8e565b80601f0160208091040260200160405190810160405280929190818152602001828054611b4690613d8e565b8015611b915780601f10611b6857610100808354040283529160200191611b91565b820191905f5260205f20905b815481529060010190602001808311611b7457829003601f168201915b5050505050905092915050565b6118c3813361269a565b81611bdf576040517fd0dc904b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82815260066020526040808220805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f611c3082610b3b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610a1b57505f828152600560205260409020610a1b90846126fc565b60605f610a1b8361272a565b5f828152600760205260408120611c9e908361227d565b90508015610b365773ffffffffffffffffffffffffffffffffffffffff82165f908152600860205260409020611cd49084612782565b50604051339073ffffffffffffffffffffffffffffffffffffffff84169085907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d905f90a4505050565b5f828152600760205260408120611d35908361278d565b90508015610b365773ffffffffffffffffffffffffffffffffffffffff82165f908152600860205260409020611d6b90846127ae565b50604051339073ffffffffffffffffffffffffffffffffffffffff84169085907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b905f90a4505050565b5f8181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1615158190610cce576040517fae8f9a360000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b5f611e2084610b3b565b905080848773ffffffffffffffffffffffffffffffffffffffff81811690841614611ea0576040517f5b271ea200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384166004820152602481019290925290911660448201526064016102d8565b50505073ffffffffffffffffffffffffffffffffffffffff8516611ef0576040517f24ecef4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611efa85610b3b565b905084828273ffffffffffffffffffffffffffffffffffffffff80821690831614611f78576040517f5a9c31d3000000000000000000000000000000000000000000000000000000008152600481019390935273ffffffffffffffffffffffffffffffffffffffff91821660248401521660448201526064016102d8565b505050611f8587866127b9565b73ffffffffffffffffffffffffffffffffffffffff87165f908152600460205260409020611fb390866127ae565b5073ffffffffffffffffffffffffffffffffffffffff86165f908152600460205260409020611fe29086612782565b505f858152600360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf9061206d9033908a908a90613dd9565b60405180910390a45f338888888760405160200161208f959493929190613e18565b60405160208183030381529060405290506120aa888261280c565b6120b5878683612837565b5050505050505050565b5f8181526001602052604090208054606091906120db90613d8e565b80601f016020809104026020016040519081016040528092919081815260200182805461210790613d8e565b80156121525780601f1061212957610100808354040283529160200191612152565b820191905f5260205f20905b81548152906001019060200180831161213557829003601f168201915b50505050509050919050565b5f6109f0825490565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ef9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d8565b6122117f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a65f611ba8565b6118c3816129f0565b7f098a16c9e50e3e99b3e797305c146898d294e5aec55a47e213cb3611ccf17e738201612273576040517f3664800a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cce8282612aa1565b5f610a1b8373ffffffffffffffffffffffffffffffffffffffff8416612c00565b610cce827f8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f0097083612c4c565b5f610a1b8383612ce5565b5f828152600760205260408120610a1b90836126fc565b8051825114612326576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81515f03612360576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8251811015610b36576123a783828151811061238057612380613c38565b602002602001015183838151811061239a5761239a613c38565b602002602001015161221a565b600101612362565b60095460ff166123eb576040517f4d8af03d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61151084848484612d0b565b8060015f8585604051602001612417929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020015f2090816124469190613ec8565b5081837fa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb8360405161247891906132ce565b60405180910390a3505050565b5f83815260056020526040812061249c908761278d565b90508584826124f5576040517f4aa31a8c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b5050838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c8686604051612557929190613fdf565b60405180910390a4505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201525f602a82018190527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008416602c830152918291016040516020818303038152906040529050806125e290613ff9565b949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa918fa6b0000000000000000000000000000000000000000000000000000000014806109f057506109f082612f1e565b5f8061266a7f01ffc9a7000000000000000000000000000000000000000000000000000000006118c6565b50905073ffffffffffffffffffffffffffffffffffffffff811661269057505f92915050565b610a1b8184612fb4565b6126a482826122d4565b81839091611510576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016102d8565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001830160205260408120541515610a1b565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561215257602002820191905f5260205f20905b8154815260200190600101908083116127635750505050509050919050565b5f610a1b8383612c00565b5f610a1b8373ffffffffffffffffffffffffffffffffffffffff8416613080565b5f610a1b8383613080565b5f818152600560205260408120906127d08261215e565b90505f5f5b8281101561132a576127e7845f6122c9565b91506128048287875f60405180602001604052805f815250612485565b6001016127d5565b610cce827fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab0083612c4c565b612861837f6bb56a1400000000000000000000000000000000000000000000000000000000612fb4565b1561293a576040517f6bb56a1400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690636bb56a14906128da907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d90859060040161403b565b5f604051808303815f875af11580156128f5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115109190810190614053565b81610b365773ffffffffffffffffffffffffffffffffffffffff83163b156129a6576040517f4349776d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016102d8565b6040517f0317313700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016102d8565b5f5473ffffffffffffffffffffffffffffffffffffffff16612a1182613163565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600860205260408120612a3e90611c7b565b90505f5b8151811015611510575f828281518110612a5e57612a5e613c38565b60200260200101519050612a728185611d1e565b73ffffffffffffffffffffffffffffffffffffffff851615612a9857612a988186611c87565b50600101612a42565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201612afa576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201612b53576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d8201612bac576040517f4ef6d7fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160205260409020612bc38282613ec8565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051612bf491906132ce565b60405180910390a25050565b5f818152600183016020526040812054612c4557508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556109f0565b505f6109f0565b612c8c73ffffffffffffffffffffffffffffffffffffffff84167f6bb56a1400000000000000000000000000000000000000000000000000000000612fb4565b15610b36576040517f6bb56a1400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690636bb56a14906128da908590859060040161403b565b5f825f018281548110612cfa57612cfa613c38565b905f5260205f200154905092915050565b73ffffffffffffffffffffffffffffffffffffffff8416612d58576040517f24ecef4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83815260036020526040902054839073ffffffffffffffffffffffffffffffffffffffff1615612db8576040517f34c7b5110000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b505f83815260036020526040902054839073ffffffffffffffffffffffffffffffffffffffff1615612e19576040517f34c7b5110000000000000000000000000000000000000000000000000000000081526004016102d891815260200190565b5060025f8154612e28906140f5565b9091555073ffffffffffffffffffffffffffffffffffffffff84165f908152600460205260409020612e5a9084612782565b505f8381526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915590518592907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90612ee090339088908890613dd9565b60405180910390a45f335f868685604051602001612f02959493929190613e18565b6040516020818303038152906040529050610d65858483612837565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f629aa6940000000000000000000000000000000000000000000000000000000014806109f057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146109f0565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282515f9392849283928392918391908a617530fa92503d91505f51905082801561306a575060208210155b801561307557505f81115b979650505050505050565b5f818152600183016020526040812054801561315a575f6130a260018361412c565b85549091505f906130b59060019061412c565b9050818114613114575f865f0182815481106130d3576130d3613c38565b905f5260205f200154905080875f0184815481106130f3576130f3613c38565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806131255761312561413f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506109f0565b5f9150506109f0565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b5f60208284031215613233575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a1b575f5ffd5b5f5f60408385031215613273575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610a1b6020830184613282565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613354576133546132e0565b604052919050565b5f67ffffffffffffffff821115613375576133756132e0565b5060051b60200190565b5f82601f83011261338e575f5ffd5b81356133a161339c8261335c565b61330d565b8082825260208201915060208360051b8601019250858311156133c2575f5ffd5b602085015b838110156133df5780358352602092830192016133c7565b5095945050505050565b5f5f604083850312156133fa575f5ffd5b823567ffffffffffffffff811115613410575f5ffd5b61341c8582860161337f565b925050602083013567ffffffffffffffff811115613438575f5ffd5b6134448582860161337f565b9150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156134c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526134ae858351613282565b94506020938401939190910190600101613474565b50929695505050505050565b5f602082840312156134df575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613509575f5ffd5b919050565b5f5f6040838503121561351f575f5ffd5b613528836134e6565b946020939093013593505050565b5f60208284031215613546575f5ffd5b610a1b826134e6565b602080825282518282018190525f918401906040840190835b81811015613586578351835260209384019390920191600101613568565b509095945050505050565b5f5f604083850312156135a2575f5ffd5b823591506135b2602084016134e6565b90509250929050565b602080825282518282018190525f918401906040840190835b8181101561358657835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016135d4565b80358015158114613509575f5ffd5b5f67ffffffffffffffff821115613630576136306132e0565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f83011261366b575f5ffd5b813561367961339c82613617565b81815284602083860101111561368d575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a086880312156136bd575f5ffd5b6136c6866134e6565b94506136d4602087016134e6565b9350604086013592506136e960608701613608565b9150608086013567ffffffffffffffff811115613704575f5ffd5b6137108882890161365c565b9150509295509295909350565b5f5f6020838503121561372e575f5ffd5b823567ffffffffffffffff811115613744575f5ffd5b8301601f81018513613754575f5ffd5b803567ffffffffffffffff81111561376a575f5ffd5b8560208260051b840101111561377e575f5ffd5b6020919091019590945092505050565b5f82601f83011261379d575f5ffd5b81356137ab61339c8261335c565b8082825260208201915060208360051b8601019250858311156137cc575f5ffd5b602085015b838110156133df576137e2816134e6565b8352602092830192016137d1565b5f82601f8301126137ff575f5ffd5b813561380d61339c8261335c565b8082825260208201915060208360051b86010192508583111561382e575f5ffd5b602085015b838110156133df5761384481613608565b835260209283019201613833565b5f82601f830112613861575f5ffd5b813561386f61339c8261335c565b8082825260208201915060208360051b860101925085831115613890575f5ffd5b602085015b838110156133df57803567ffffffffffffffff8111156138b3575f5ffd5b6138c2886020838a010161365c565b84525060209283019201613895565b5f5f5f5f5f60a086880312156138e5575f5ffd5b853567ffffffffffffffff8111156138fb575f5ffd5b6139078882890161378e565b955050602086013567ffffffffffffffff811115613923575f5ffd5b61392f8882890161378e565b945050604086013567ffffffffffffffff81111561394b575f5ffd5b6139578882890161337f565b935050606086013567ffffffffffffffff811115613973575f5ffd5b61397f888289016137f0565b925050608086013567ffffffffffffffff81111561399b575f5ffd5b61371088828901613852565b5f5f604083850312156139b8575f5ffd5b82359150602083013567ffffffffffffffff8111156139d5575f5ffd5b6134448582860161365c565b5f5f5f606084860312156139f3575f5ffd5b6139fc846134e6565b925060208401359150604084013567ffffffffffffffff811115613a1e575f5ffd5b613a2a8682870161365c565b9150509250925092565b5f5f60408385031215613a45575f5ffd5b823567ffffffffffffffff811115613a5b575f5ffd5b613a678582860161337f565b925050602083013567ffffffffffffffff811115613a83575f5ffd5b61344485828601613852565b5f5f5f5f60808587031215613aa2575f5ffd5b613aab856134e6565b935060208501359250613ac060408601613608565b9150606085013567ffffffffffffffff811115613adb575f5ffd5b613ae78782880161365c565b91505092959194509250565b5f5f5f60608486031215613b05575f5ffd5b833567ffffffffffffffff811115613b1b575f5ffd5b613b278682870161337f565b935050602084013567ffffffffffffffff811115613b43575f5ffd5b613b4f8682870161337f565b925050604084013567ffffffffffffffff811115613b6b575f5ffd5b613a2a86828701613852565b5f5f5f60608486031215613b89575f5ffd5b8335925060208401359150604084013567ffffffffffffffff811115613a1e575f5ffd5b5f60208284031215613bbd575f5ffd5b813567ffffffffffffffff811115613bd3575f5ffd5b6125e28482850161337f565b8385823760609290921b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016919092019081526014810191909152603401919050565b5f82518060208501845e5f920191825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c98575f5ffd5b83018035915067ffffffffffffffff821115613cb2575f5ffd5b602001915036819003821315613cc6575f5ffd5b9250929050565b818382375f9101908152919050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528215156040820152608060608201525f613d186080830184613282565b9695505050505050565b805160208201517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000811691906014821015613d87577fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808360140360031b1b82161692505b5050919050565b600181811c90821680613da257607f821691505b602082108103611809577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff841681528215156020820152606060408201525f613e0f6060830184613282565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015273ffffffffffffffffffffffffffffffffffffffff8416604082015282606082015260a060808201525f61307560a0830184613282565b601f821115610b3657805f5260205f20601f840160051c81016020851015613ea95750805b601f840160051c820191505b81811015610d65575f8155600101613eb5565b815167ffffffffffffffff811115613ee257613ee26132e0565b613ef681613ef08454613d8e565b84613e84565b6020601f821160018114613f47575f8315613f115750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610d65565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015613f945787850151825560209485019460019092019101613f74565b5084821015613fd057868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b8215158152604060208201525f6125e26040830184613282565b80516020808301519190811015611809577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b828152604060208201525f6125e26040830184613282565b5f60208284031215614063575f5ffd5b815167ffffffffffffffff811115614079575f5ffd5b8201601f81018413614089575f5ffd5b805161409761339c82613617565b8181528560208385010111156140ab575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614125576141256140c8565b5060010190565b818103818111156109f0576109f06140c8565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea26469706673582212203758e2efd5ee1265dcd1f3f438a8d6a2b5f387d5a6819184aab686d29fbbc4bb64736f6c634300081c0033",
|
|
993
1354
|
"linkReferences": {},
|
|
994
|
-
"deployedLinkReferences": {}
|
|
995
|
-
}
|
|
1355
|
+
"deployedLinkReferences": {},
|
|
1356
|
+
"immutableReferences": {},
|
|
1357
|
+
"inputSourceName": "project/contracts/presets/LSP8Mintable.sol",
|
|
1358
|
+
"buildInfoId": "solc-0_8_28-51761251365f530b69e394f3aa78b9f98e3e9d6a"
|
|
1359
|
+
}
|