@artblocks/contracts 1.0.2 → 1.0.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.
Files changed (194) hide show
  1. package/README.md +30 -2
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +22 -4
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  23. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  24. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  25. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  26. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  27. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  28. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  29. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  30. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  31. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  32. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  33. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  34. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  35. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  36. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  37. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  38. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  39. package/artifacts/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  40. package/artifacts/contracts/interfaces/0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +55 -53
  42. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +13 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +13 -0
  45. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +7 -13
  46. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +7 -13
  47. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +429 -0
  48. package/artifacts/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  49. package/artifacts/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  50. package/artifacts/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +207 -0
  51. package/artifacts/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  52. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  53. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  54. package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  55. package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  56. package/artifacts/contracts/libs/0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  57. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  58. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  59. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  60. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  61. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  62. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  63. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +692 -0
  64. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  65. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  66. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  67. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  68. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  69. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +10 -160
  70. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  71. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +59 -80
  72. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  73. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  74. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  75. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  76. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  77. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +2 -2
  78. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  79. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  80. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  81. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +2 -2
  82. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +2 -2
  83. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  84. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  85. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  86. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  87. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  88. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  89. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  90. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  91. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  92. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  93. package/artifacts/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  94. package/artifacts/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol}/RandomizerBase.json +1 -1
  95. package/artifacts/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol}/BasicPolyptychRandomizerV0.json +3 -3
  96. package/artifacts/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol}/BasicRandomizerV2.json +3 -3
  97. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  98. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +231 -0
  99. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  100. package/contracts/AdminACLV0.sol +1 -1
  101. package/contracts/AdminACLV1.sol +1 -1
  102. package/contracts/DependencyRegistryV0.sol +15 -28
  103. package/contracts/GenArt721CoreV3.sol +37 -34
  104. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +1 -1
  105. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +1 -1
  106. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1 -1
  107. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1 -1
  108. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +1 -1
  109. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +1 -1
  110. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +1 -1
  111. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +1 -1
  112. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +1 -1
  113. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +1 -1
  114. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +1 -1
  115. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +1 -1
  116. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +1 -1
  117. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +1 -1
  118. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +1 -1
  119. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +1 -1
  120. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +1 -1
  121. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  122. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  123. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  124. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  125. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  126. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  127. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +29 -20
  128. package/contracts/{GenArt721CoreV3_Engine_Flex.sol → engine/V3/GenArt721CoreV3_Engine_Flex.sol} +30 -21
  129. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +2293 -0
  130. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  131. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2354 -0
  132. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  133. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  134. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  135. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  136. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +34 -31
  137. package/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol +62 -0
  138. package/contracts/interfaces/0.8.x/ICoreRegistryV1.sol +27 -0
  139. package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +1 -1
  140. package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +1 -1
  141. package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +1 -1
  142. package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +1 -1
  143. package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +34 -15
  144. package/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  145. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +3 -0
  146. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -5
  147. package/contracts/interfaces/0.8.x/IMinterFilterV1.sol +158 -0
  148. package/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol +16 -0
  149. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +1 -1
  150. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +2 -5
  151. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +10 -0
  152. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +105 -0
  153. package/contracts/libs/0.8.x/BytecodeStorageV1.sol +399 -0
  154. package/contracts/libs/0.8.x/SSTORE2.sol +109 -0
  155. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  156. package/contracts/libs/integration-refs/weth9/weth9.sol +2 -0
  157. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +1 -1
  158. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +756 -0
  159. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1 -1
  160. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +1 -1
  161. package/contracts/minter-suite/Minters/MinterDALinV4.sol +1 -1
  162. package/contracts/minter-suite/Minters/MinterHolderV4.sol +1 -1
  163. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +1 -1
  164. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +14 -13
  165. package/contracts/minter-suite/Minters/MinterSEAV0.sol +232 -183
  166. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +1 -1
  167. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +1 -1
  168. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  169. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  170. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  171. package/contracts/mock/DeadReceiverBidderMock.sol +1 -1
  172. package/contracts/mock/DeadReceiverMock.sol +1 -1
  173. package/contracts/mock/DummySharedMinter.sol +75 -0
  174. package/contracts/mock/GasLimitReceiverBidderMock.sol +1 -1
  175. package/contracts/mock/GasLimitReceiverMock.sol +1 -1
  176. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +14 -27
  177. package/contracts/mock/MockAdminACLV0.sol +1 -1
  178. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  179. package/contracts/mock/OriginRegisterMock.sol +27 -0
  180. package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -2
  181. package/contracts/mock/SSTORE2Mock.sol +93 -0
  182. package/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol} +1 -1
  183. package/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol} +1 -1
  184. package/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol} +3 -3
  185. package/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol} +3 -3
  186. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  187. package/contracts/randomizer/shared/SharedRandomizerV0.sol +245 -0
  188. package/package.json +23 -30
  189. package/.env.example +0 -17
  190. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  191. package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +0 -2229
  192. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  193. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  194. /package/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol} +0 -0
@@ -1,1942 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "GenArt721CoreV3_Engine",
4
- "sourceName": "contracts/GenArt721CoreV3_Engine.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "string",
10
- "name": "_tokenName",
11
- "type": "string"
12
- },
13
- {
14
- "internalType": "string",
15
- "name": "_tokenSymbol",
16
- "type": "string"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "_renderProviderAddress",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "address",
25
- "name": "_platformProviderAddress",
26
- "type": "address"
27
- },
28
- {
29
- "internalType": "address",
30
- "name": "_randomizerContract",
31
- "type": "address"
32
- },
33
- {
34
- "internalType": "address",
35
- "name": "_adminACLContract",
36
- "type": "address"
37
- },
38
- {
39
- "internalType": "uint248",
40
- "name": "_startingProjectId",
41
- "type": "uint248"
42
- },
43
- {
44
- "internalType": "bool",
45
- "name": "_autoApproveArtistSplitProposals",
46
- "type": "bool"
47
- },
48
- {
49
- "internalType": "address",
50
- "name": "_engineRegistryContract",
51
- "type": "address"
52
- }
53
- ],
54
- "stateMutability": "nonpayable",
55
- "type": "constructor"
56
- },
57
- {
58
- "anonymous": false,
59
- "inputs": [
60
- {
61
- "indexed": true,
62
- "internalType": "uint256",
63
- "name": "_projectId",
64
- "type": "uint256"
65
- }
66
- ],
67
- "name": "AcceptedArtistAddressesAndSplits",
68
- "type": "event"
69
- },
70
- {
71
- "anonymous": false,
72
- "inputs": [
73
- {
74
- "indexed": true,
75
- "internalType": "address",
76
- "name": "owner",
77
- "type": "address"
78
- },
79
- {
80
- "indexed": true,
81
- "internalType": "address",
82
- "name": "approved",
83
- "type": "address"
84
- },
85
- {
86
- "indexed": true,
87
- "internalType": "uint256",
88
- "name": "tokenId",
89
- "type": "uint256"
90
- }
91
- ],
92
- "name": "Approval",
93
- "type": "event"
94
- },
95
- {
96
- "anonymous": false,
97
- "inputs": [
98
- {
99
- "indexed": true,
100
- "internalType": "address",
101
- "name": "owner",
102
- "type": "address"
103
- },
104
- {
105
- "indexed": true,
106
- "internalType": "address",
107
- "name": "operator",
108
- "type": "address"
109
- },
110
- {
111
- "indexed": false,
112
- "internalType": "bool",
113
- "name": "approved",
114
- "type": "bool"
115
- }
116
- ],
117
- "name": "ApprovalForAll",
118
- "type": "event"
119
- },
120
- {
121
- "anonymous": false,
122
- "inputs": [
123
- {
124
- "indexed": true,
125
- "internalType": "address",
126
- "name": "_to",
127
- "type": "address"
128
- },
129
- {
130
- "indexed": true,
131
- "internalType": "uint256",
132
- "name": "_tokenId",
133
- "type": "uint256"
134
- }
135
- ],
136
- "name": "Mint",
137
- "type": "event"
138
- },
139
- {
140
- "anonymous": false,
141
- "inputs": [
142
- {
143
- "indexed": true,
144
- "internalType": "address",
145
- "name": "_currentMinter",
146
- "type": "address"
147
- }
148
- ],
149
- "name": "MinterUpdated",
150
- "type": "event"
151
- },
152
- {
153
- "anonymous": false,
154
- "inputs": [
155
- {
156
- "indexed": true,
157
- "internalType": "address",
158
- "name": "previousOwner",
159
- "type": "address"
160
- },
161
- {
162
- "indexed": true,
163
- "internalType": "address",
164
- "name": "newOwner",
165
- "type": "address"
166
- }
167
- ],
168
- "name": "OwnershipTransferred",
169
- "type": "event"
170
- },
171
- {
172
- "anonymous": false,
173
- "inputs": [
174
- {
175
- "indexed": true,
176
- "internalType": "bytes32",
177
- "name": "_field",
178
- "type": "bytes32"
179
- }
180
- ],
181
- "name": "PlatformUpdated",
182
- "type": "event"
183
- },
184
- {
185
- "anonymous": false,
186
- "inputs": [
187
- {
188
- "indexed": true,
189
- "internalType": "uint256",
190
- "name": "_projectId",
191
- "type": "uint256"
192
- },
193
- {
194
- "indexed": true,
195
- "internalType": "bytes32",
196
- "name": "_update",
197
- "type": "bytes32"
198
- }
199
- ],
200
- "name": "ProjectUpdated",
201
- "type": "event"
202
- },
203
- {
204
- "anonymous": false,
205
- "inputs": [
206
- {
207
- "indexed": true,
208
- "internalType": "uint256",
209
- "name": "_projectId",
210
- "type": "uint256"
211
- },
212
- {
213
- "indexed": false,
214
- "internalType": "address",
215
- "name": "_artistAddress",
216
- "type": "address"
217
- },
218
- {
219
- "indexed": false,
220
- "internalType": "address",
221
- "name": "_additionalPayeePrimarySales",
222
- "type": "address"
223
- },
224
- {
225
- "indexed": false,
226
- "internalType": "uint256",
227
- "name": "_additionalPayeePrimarySalesPercentage",
228
- "type": "uint256"
229
- },
230
- {
231
- "indexed": false,
232
- "internalType": "address",
233
- "name": "_additionalPayeeSecondarySales",
234
- "type": "address"
235
- },
236
- {
237
- "indexed": false,
238
- "internalType": "uint256",
239
- "name": "_additionalPayeeSecondarySalesPercentage",
240
- "type": "uint256"
241
- }
242
- ],
243
- "name": "ProposedArtistAddressesAndSplits",
244
- "type": "event"
245
- },
246
- {
247
- "anonymous": false,
248
- "inputs": [
249
- {
250
- "indexed": true,
251
- "internalType": "address",
252
- "name": "from",
253
- "type": "address"
254
- },
255
- {
256
- "indexed": true,
257
- "internalType": "address",
258
- "name": "to",
259
- "type": "address"
260
- },
261
- {
262
- "indexed": true,
263
- "internalType": "uint256",
264
- "name": "tokenId",
265
- "type": "uint256"
266
- }
267
- ],
268
- "name": "Transfer",
269
- "type": "event"
270
- },
271
- {
272
- "inputs": [
273
- {
274
- "internalType": "string",
275
- "name": "_projectName",
276
- "type": "string"
277
- },
278
- {
279
- "internalType": "address payable",
280
- "name": "_artistAddress",
281
- "type": "address"
282
- }
283
- ],
284
- "name": "addProject",
285
- "outputs": [],
286
- "stateMutability": "nonpayable",
287
- "type": "function"
288
- },
289
- {
290
- "inputs": [
291
- {
292
- "internalType": "uint256",
293
- "name": "_projectId",
294
- "type": "uint256"
295
- },
296
- {
297
- "internalType": "string",
298
- "name": "_script",
299
- "type": "string"
300
- }
301
- ],
302
- "name": "addProjectScript",
303
- "outputs": [],
304
- "stateMutability": "nonpayable",
305
- "type": "function"
306
- },
307
- {
308
- "inputs": [],
309
- "name": "admin",
310
- "outputs": [
311
- {
312
- "internalType": "address",
313
- "name": "",
314
- "type": "address"
315
- }
316
- ],
317
- "stateMutability": "view",
318
- "type": "function"
319
- },
320
- {
321
- "inputs": [
322
- {
323
- "internalType": "address",
324
- "name": "_sender",
325
- "type": "address"
326
- },
327
- {
328
- "internalType": "address",
329
- "name": "_contract",
330
- "type": "address"
331
- },
332
- {
333
- "internalType": "bytes4",
334
- "name": "_selector",
335
- "type": "bytes4"
336
- }
337
- ],
338
- "name": "adminACLAllowed",
339
- "outputs": [
340
- {
341
- "internalType": "bool",
342
- "name": "",
343
- "type": "bool"
344
- }
345
- ],
346
- "stateMutability": "nonpayable",
347
- "type": "function"
348
- },
349
- {
350
- "inputs": [],
351
- "name": "adminACLContract",
352
- "outputs": [
353
- {
354
- "internalType": "contract IAdminACLV0",
355
- "name": "",
356
- "type": "address"
357
- }
358
- ],
359
- "stateMutability": "view",
360
- "type": "function"
361
- },
362
- {
363
- "inputs": [
364
- {
365
- "internalType": "uint256",
366
- "name": "_projectId",
367
- "type": "uint256"
368
- },
369
- {
370
- "internalType": "address payable",
371
- "name": "_artistAddress",
372
- "type": "address"
373
- },
374
- {
375
- "internalType": "address payable",
376
- "name": "_additionalPayeePrimarySales",
377
- "type": "address"
378
- },
379
- {
380
- "internalType": "uint256",
381
- "name": "_additionalPayeePrimarySalesPercentage",
382
- "type": "uint256"
383
- },
384
- {
385
- "internalType": "address payable",
386
- "name": "_additionalPayeeSecondarySales",
387
- "type": "address"
388
- },
389
- {
390
- "internalType": "uint256",
391
- "name": "_additionalPayeeSecondarySalesPercentage",
392
- "type": "uint256"
393
- }
394
- ],
395
- "name": "adminAcceptArtistAddressesAndSplits",
396
- "outputs": [],
397
- "stateMutability": "nonpayable",
398
- "type": "function"
399
- },
400
- {
401
- "inputs": [
402
- {
403
- "internalType": "address",
404
- "name": "to",
405
- "type": "address"
406
- },
407
- {
408
- "internalType": "uint256",
409
- "name": "tokenId",
410
- "type": "uint256"
411
- }
412
- ],
413
- "name": "approve",
414
- "outputs": [],
415
- "stateMutability": "nonpayable",
416
- "type": "function"
417
- },
418
- {
419
- "inputs": [],
420
- "name": "artblocksDependencyRegistryAddress",
421
- "outputs": [
422
- {
423
- "internalType": "address",
424
- "name": "",
425
- "type": "address"
426
- }
427
- ],
428
- "stateMutability": "view",
429
- "type": "function"
430
- },
431
- {
432
- "inputs": [],
433
- "name": "autoApproveArtistSplitProposals",
434
- "outputs": [
435
- {
436
- "internalType": "bool",
437
- "name": "",
438
- "type": "bool"
439
- }
440
- ],
441
- "stateMutability": "view",
442
- "type": "function"
443
- },
444
- {
445
- "inputs": [
446
- {
447
- "internalType": "address",
448
- "name": "owner",
449
- "type": "address"
450
- }
451
- ],
452
- "name": "balanceOf",
453
- "outputs": [
454
- {
455
- "internalType": "uint256",
456
- "name": "",
457
- "type": "uint256"
458
- }
459
- ],
460
- "stateMutability": "view",
461
- "type": "function"
462
- },
463
- {
464
- "inputs": [],
465
- "name": "coreType",
466
- "outputs": [
467
- {
468
- "internalType": "string",
469
- "name": "",
470
- "type": "string"
471
- }
472
- ],
473
- "stateMutability": "pure",
474
- "type": "function"
475
- },
476
- {
477
- "inputs": [],
478
- "name": "coreVersion",
479
- "outputs": [
480
- {
481
- "internalType": "string",
482
- "name": "",
483
- "type": "string"
484
- }
485
- ],
486
- "stateMutability": "pure",
487
- "type": "function"
488
- },
489
- {
490
- "inputs": [],
491
- "name": "defaultBaseURI",
492
- "outputs": [
493
- {
494
- "internalType": "string",
495
- "name": "",
496
- "type": "string"
497
- }
498
- ],
499
- "stateMutability": "view",
500
- "type": "function"
501
- },
502
- {
503
- "inputs": [],
504
- "name": "forbidNewProjects",
505
- "outputs": [],
506
- "stateMutability": "nonpayable",
507
- "type": "function"
508
- },
509
- {
510
- "inputs": [
511
- {
512
- "internalType": "uint256",
513
- "name": "tokenId",
514
- "type": "uint256"
515
- }
516
- ],
517
- "name": "getApproved",
518
- "outputs": [
519
- {
520
- "internalType": "address",
521
- "name": "",
522
- "type": "address"
523
- }
524
- ],
525
- "stateMutability": "view",
526
- "type": "function"
527
- },
528
- {
529
- "inputs": [
530
- {
531
- "internalType": "uint256",
532
- "name": "_index",
533
- "type": "uint256"
534
- }
535
- ],
536
- "name": "getHistoricalRandomizerAt",
537
- "outputs": [
538
- {
539
- "internalType": "address",
540
- "name": "",
541
- "type": "address"
542
- }
543
- ],
544
- "stateMutability": "view",
545
- "type": "function"
546
- },
547
- {
548
- "inputs": [
549
- {
550
- "internalType": "uint256",
551
- "name": "_projectId",
552
- "type": "uint256"
553
- },
554
- {
555
- "internalType": "uint256",
556
- "name": "_price",
557
- "type": "uint256"
558
- }
559
- ],
560
- "name": "getPrimaryRevenueSplits",
561
- "outputs": [
562
- {
563
- "internalType": "uint256",
564
- "name": "renderProviderRevenue_",
565
- "type": "uint256"
566
- },
567
- {
568
- "internalType": "address payable",
569
- "name": "renderProviderAddress_",
570
- "type": "address"
571
- },
572
- {
573
- "internalType": "uint256",
574
- "name": "platformProviderRevenue_",
575
- "type": "uint256"
576
- },
577
- {
578
- "internalType": "address payable",
579
- "name": "platformProviderAddress_",
580
- "type": "address"
581
- },
582
- {
583
- "internalType": "uint256",
584
- "name": "artistRevenue_",
585
- "type": "uint256"
586
- },
587
- {
588
- "internalType": "address payable",
589
- "name": "artistAddress_",
590
- "type": "address"
591
- },
592
- {
593
- "internalType": "uint256",
594
- "name": "additionalPayeePrimaryRevenue_",
595
- "type": "uint256"
596
- },
597
- {
598
- "internalType": "address payable",
599
- "name": "additionalPayeePrimaryAddress_",
600
- "type": "address"
601
- }
602
- ],
603
- "stateMutability": "view",
604
- "type": "function"
605
- },
606
- {
607
- "inputs": [
608
- {
609
- "internalType": "uint256",
610
- "name": "_tokenId",
611
- "type": "uint256"
612
- }
613
- ],
614
- "name": "getRoyalties",
615
- "outputs": [
616
- {
617
- "internalType": "address payable[]",
618
- "name": "recipients",
619
- "type": "address[]"
620
- },
621
- {
622
- "internalType": "uint256[]",
623
- "name": "bps",
624
- "type": "uint256[]"
625
- }
626
- ],
627
- "stateMutability": "view",
628
- "type": "function"
629
- },
630
- {
631
- "inputs": [
632
- {
633
- "internalType": "address",
634
- "name": "owner",
635
- "type": "address"
636
- },
637
- {
638
- "internalType": "address",
639
- "name": "operator",
640
- "type": "address"
641
- }
642
- ],
643
- "name": "isApprovedForAll",
644
- "outputs": [
645
- {
646
- "internalType": "bool",
647
- "name": "",
648
- "type": "bool"
649
- }
650
- ],
651
- "stateMutability": "view",
652
- "type": "function"
653
- },
654
- {
655
- "inputs": [
656
- {
657
- "internalType": "address",
658
- "name": "_minter",
659
- "type": "address"
660
- }
661
- ],
662
- "name": "isMintWhitelisted",
663
- "outputs": [
664
- {
665
- "internalType": "bool",
666
- "name": "",
667
- "type": "bool"
668
- }
669
- ],
670
- "stateMutability": "view",
671
- "type": "function"
672
- },
673
- {
674
- "inputs": [
675
- {
676
- "internalType": "address",
677
- "name": "_to",
678
- "type": "address"
679
- },
680
- {
681
- "internalType": "uint256",
682
- "name": "_projectId",
683
- "type": "uint256"
684
- },
685
- {
686
- "internalType": "address",
687
- "name": "_by",
688
- "type": "address"
689
- }
690
- ],
691
- "name": "mint_Ecf",
692
- "outputs": [
693
- {
694
- "internalType": "uint256",
695
- "name": "_tokenId",
696
- "type": "uint256"
697
- }
698
- ],
699
- "stateMutability": "nonpayable",
700
- "type": "function"
701
- },
702
- {
703
- "inputs": [],
704
- "name": "minterContract",
705
- "outputs": [
706
- {
707
- "internalType": "address",
708
- "name": "",
709
- "type": "address"
710
- }
711
- ],
712
- "stateMutability": "view",
713
- "type": "function"
714
- },
715
- {
716
- "inputs": [],
717
- "name": "name",
718
- "outputs": [
719
- {
720
- "internalType": "string",
721
- "name": "",
722
- "type": "string"
723
- }
724
- ],
725
- "stateMutability": "view",
726
- "type": "function"
727
- },
728
- {
729
- "inputs": [],
730
- "name": "newProjectsForbidden",
731
- "outputs": [
732
- {
733
- "internalType": "bool",
734
- "name": "",
735
- "type": "bool"
736
- }
737
- ],
738
- "stateMutability": "view",
739
- "type": "function"
740
- },
741
- {
742
- "inputs": [],
743
- "name": "nextProjectId",
744
- "outputs": [
745
- {
746
- "internalType": "uint256",
747
- "name": "",
748
- "type": "uint256"
749
- }
750
- ],
751
- "stateMutability": "view",
752
- "type": "function"
753
- },
754
- {
755
- "inputs": [],
756
- "name": "numHistoricalRandomizers",
757
- "outputs": [
758
- {
759
- "internalType": "uint256",
760
- "name": "",
761
- "type": "uint256"
762
- }
763
- ],
764
- "stateMutability": "view",
765
- "type": "function"
766
- },
767
- {
768
- "inputs": [],
769
- "name": "owner",
770
- "outputs": [
771
- {
772
- "internalType": "address",
773
- "name": "",
774
- "type": "address"
775
- }
776
- ],
777
- "stateMutability": "view",
778
- "type": "function"
779
- },
780
- {
781
- "inputs": [
782
- {
783
- "internalType": "uint256",
784
- "name": "tokenId",
785
- "type": "uint256"
786
- }
787
- ],
788
- "name": "ownerOf",
789
- "outputs": [
790
- {
791
- "internalType": "address",
792
- "name": "",
793
- "type": "address"
794
- }
795
- ],
796
- "stateMutability": "view",
797
- "type": "function"
798
- },
799
- {
800
- "inputs": [],
801
- "name": "platformProviderPrimarySalesAddress",
802
- "outputs": [
803
- {
804
- "internalType": "address payable",
805
- "name": "",
806
- "type": "address"
807
- }
808
- ],
809
- "stateMutability": "view",
810
- "type": "function"
811
- },
812
- {
813
- "inputs": [],
814
- "name": "platformProviderPrimarySalesPercentage",
815
- "outputs": [
816
- {
817
- "internalType": "uint256",
818
- "name": "",
819
- "type": "uint256"
820
- }
821
- ],
822
- "stateMutability": "view",
823
- "type": "function"
824
- },
825
- {
826
- "inputs": [],
827
- "name": "platformProviderSecondarySalesAddress",
828
- "outputs": [
829
- {
830
- "internalType": "address payable",
831
- "name": "",
832
- "type": "address"
833
- }
834
- ],
835
- "stateMutability": "view",
836
- "type": "function"
837
- },
838
- {
839
- "inputs": [],
840
- "name": "platformProviderSecondarySalesBPS",
841
- "outputs": [
842
- {
843
- "internalType": "uint256",
844
- "name": "",
845
- "type": "uint256"
846
- }
847
- ],
848
- "stateMutability": "view",
849
- "type": "function"
850
- },
851
- {
852
- "inputs": [
853
- {
854
- "internalType": "uint256",
855
- "name": "_projectId",
856
- "type": "uint256"
857
- }
858
- ],
859
- "name": "projectArtistPaymentInfo",
860
- "outputs": [
861
- {
862
- "internalType": "address",
863
- "name": "artistAddress",
864
- "type": "address"
865
- },
866
- {
867
- "internalType": "address",
868
- "name": "additionalPayeePrimarySales",
869
- "type": "address"
870
- },
871
- {
872
- "internalType": "uint256",
873
- "name": "additionalPayeePrimarySalesPercentage",
874
- "type": "uint256"
875
- },
876
- {
877
- "internalType": "address",
878
- "name": "additionalPayeeSecondarySales",
879
- "type": "address"
880
- },
881
- {
882
- "internalType": "uint256",
883
- "name": "additionalPayeeSecondarySalesPercentage",
884
- "type": "uint256"
885
- },
886
- {
887
- "internalType": "uint256",
888
- "name": "secondaryMarketRoyaltyPercentage",
889
- "type": "uint256"
890
- }
891
- ],
892
- "stateMutability": "view",
893
- "type": "function"
894
- },
895
- {
896
- "inputs": [
897
- {
898
- "internalType": "uint256",
899
- "name": "_projectId",
900
- "type": "uint256"
901
- }
902
- ],
903
- "name": "projectDetails",
904
- "outputs": [
905
- {
906
- "internalType": "string",
907
- "name": "projectName",
908
- "type": "string"
909
- },
910
- {
911
- "internalType": "string",
912
- "name": "artist",
913
- "type": "string"
914
- },
915
- {
916
- "internalType": "string",
917
- "name": "description",
918
- "type": "string"
919
- },
920
- {
921
- "internalType": "string",
922
- "name": "website",
923
- "type": "string"
924
- },
925
- {
926
- "internalType": "string",
927
- "name": "license",
928
- "type": "string"
929
- }
930
- ],
931
- "stateMutability": "view",
932
- "type": "function"
933
- },
934
- {
935
- "inputs": [
936
- {
937
- "internalType": "uint256",
938
- "name": "_projectId",
939
- "type": "uint256"
940
- }
941
- ],
942
- "name": "projectIdToAdditionalPayeePrimarySales",
943
- "outputs": [
944
- {
945
- "internalType": "address payable",
946
- "name": "",
947
- "type": "address"
948
- }
949
- ],
950
- "stateMutability": "view",
951
- "type": "function"
952
- },
953
- {
954
- "inputs": [
955
- {
956
- "internalType": "uint256",
957
- "name": "_projectId",
958
- "type": "uint256"
959
- }
960
- ],
961
- "name": "projectIdToAdditionalPayeePrimarySalesPercentage",
962
- "outputs": [
963
- {
964
- "internalType": "uint256",
965
- "name": "",
966
- "type": "uint256"
967
- }
968
- ],
969
- "stateMutability": "view",
970
- "type": "function"
971
- },
972
- {
973
- "inputs": [
974
- {
975
- "internalType": "uint256",
976
- "name": "_projectId",
977
- "type": "uint256"
978
- }
979
- ],
980
- "name": "projectIdToAdditionalPayeeSecondarySales",
981
- "outputs": [
982
- {
983
- "internalType": "address payable",
984
- "name": "",
985
- "type": "address"
986
- }
987
- ],
988
- "stateMutability": "view",
989
- "type": "function"
990
- },
991
- {
992
- "inputs": [
993
- {
994
- "internalType": "uint256",
995
- "name": "_projectId",
996
- "type": "uint256"
997
- }
998
- ],
999
- "name": "projectIdToAdditionalPayeeSecondarySalesPercentage",
1000
- "outputs": [
1001
- {
1002
- "internalType": "uint256",
1003
- "name": "",
1004
- "type": "uint256"
1005
- }
1006
- ],
1007
- "stateMutability": "view",
1008
- "type": "function"
1009
- },
1010
- {
1011
- "inputs": [
1012
- {
1013
- "internalType": "uint256",
1014
- "name": "_projectId",
1015
- "type": "uint256"
1016
- }
1017
- ],
1018
- "name": "projectIdToArtistAddress",
1019
- "outputs": [
1020
- {
1021
- "internalType": "address payable",
1022
- "name": "",
1023
- "type": "address"
1024
- }
1025
- ],
1026
- "stateMutability": "view",
1027
- "type": "function"
1028
- },
1029
- {
1030
- "inputs": [
1031
- {
1032
- "internalType": "uint256",
1033
- "name": "_projectId",
1034
- "type": "uint256"
1035
- }
1036
- ],
1037
- "name": "projectIdToSecondaryMarketRoyaltyPercentage",
1038
- "outputs": [
1039
- {
1040
- "internalType": "uint256",
1041
- "name": "",
1042
- "type": "uint256"
1043
- }
1044
- ],
1045
- "stateMutability": "view",
1046
- "type": "function"
1047
- },
1048
- {
1049
- "inputs": [
1050
- {
1051
- "internalType": "uint256",
1052
- "name": "_projectId",
1053
- "type": "uint256"
1054
- },
1055
- {
1056
- "internalType": "uint256",
1057
- "name": "_index",
1058
- "type": "uint256"
1059
- }
1060
- ],
1061
- "name": "projectScriptByIndex",
1062
- "outputs": [
1063
- {
1064
- "internalType": "string",
1065
- "name": "",
1066
- "type": "string"
1067
- }
1068
- ],
1069
- "stateMutability": "view",
1070
- "type": "function"
1071
- },
1072
- {
1073
- "inputs": [
1074
- {
1075
- "internalType": "uint256",
1076
- "name": "_projectId",
1077
- "type": "uint256"
1078
- },
1079
- {
1080
- "internalType": "uint256",
1081
- "name": "_index",
1082
- "type": "uint256"
1083
- }
1084
- ],
1085
- "name": "projectScriptBytecodeAddressByIndex",
1086
- "outputs": [
1087
- {
1088
- "internalType": "address",
1089
- "name": "",
1090
- "type": "address"
1091
- }
1092
- ],
1093
- "stateMutability": "view",
1094
- "type": "function"
1095
- },
1096
- {
1097
- "inputs": [
1098
- {
1099
- "internalType": "uint256",
1100
- "name": "_projectId",
1101
- "type": "uint256"
1102
- }
1103
- ],
1104
- "name": "projectScriptDetails",
1105
- "outputs": [
1106
- {
1107
- "internalType": "string",
1108
- "name": "scriptTypeAndVersion",
1109
- "type": "string"
1110
- },
1111
- {
1112
- "internalType": "string",
1113
- "name": "aspectRatio",
1114
- "type": "string"
1115
- },
1116
- {
1117
- "internalType": "uint256",
1118
- "name": "scriptCount",
1119
- "type": "uint256"
1120
- }
1121
- ],
1122
- "stateMutability": "view",
1123
- "type": "function"
1124
- },
1125
- {
1126
- "inputs": [
1127
- {
1128
- "internalType": "uint256",
1129
- "name": "_projectId",
1130
- "type": "uint256"
1131
- }
1132
- ],
1133
- "name": "projectStateData",
1134
- "outputs": [
1135
- {
1136
- "internalType": "uint256",
1137
- "name": "invocations",
1138
- "type": "uint256"
1139
- },
1140
- {
1141
- "internalType": "uint256",
1142
- "name": "maxInvocations",
1143
- "type": "uint256"
1144
- },
1145
- {
1146
- "internalType": "bool",
1147
- "name": "active",
1148
- "type": "bool"
1149
- },
1150
- {
1151
- "internalType": "bool",
1152
- "name": "paused",
1153
- "type": "bool"
1154
- },
1155
- {
1156
- "internalType": "uint256",
1157
- "name": "completedTimestamp",
1158
- "type": "uint256"
1159
- },
1160
- {
1161
- "internalType": "bool",
1162
- "name": "locked",
1163
- "type": "bool"
1164
- }
1165
- ],
1166
- "stateMutability": "view",
1167
- "type": "function"
1168
- },
1169
- {
1170
- "inputs": [
1171
- {
1172
- "internalType": "uint256",
1173
- "name": "_projectId",
1174
- "type": "uint256"
1175
- }
1176
- ],
1177
- "name": "projectURIInfo",
1178
- "outputs": [
1179
- {
1180
- "internalType": "string",
1181
- "name": "projectBaseURI",
1182
- "type": "string"
1183
- }
1184
- ],
1185
- "stateMutability": "view",
1186
- "type": "function"
1187
- },
1188
- {
1189
- "inputs": [
1190
- {
1191
- "internalType": "uint256",
1192
- "name": "_projectId",
1193
- "type": "uint256"
1194
- },
1195
- {
1196
- "internalType": "address payable",
1197
- "name": "_artistAddress",
1198
- "type": "address"
1199
- },
1200
- {
1201
- "internalType": "address payable",
1202
- "name": "_additionalPayeePrimarySales",
1203
- "type": "address"
1204
- },
1205
- {
1206
- "internalType": "uint256",
1207
- "name": "_additionalPayeePrimarySalesPercentage",
1208
- "type": "uint256"
1209
- },
1210
- {
1211
- "internalType": "address payable",
1212
- "name": "_additionalPayeeSecondarySales",
1213
- "type": "address"
1214
- },
1215
- {
1216
- "internalType": "uint256",
1217
- "name": "_additionalPayeeSecondarySalesPercentage",
1218
- "type": "uint256"
1219
- }
1220
- ],
1221
- "name": "proposeArtistPaymentAddressesAndSplits",
1222
- "outputs": [],
1223
- "stateMutability": "nonpayable",
1224
- "type": "function"
1225
- },
1226
- {
1227
- "inputs": [
1228
- {
1229
- "internalType": "uint256",
1230
- "name": "",
1231
- "type": "uint256"
1232
- }
1233
- ],
1234
- "name": "proposedArtistAddressesAndSplitsHash",
1235
- "outputs": [
1236
- {
1237
- "internalType": "bytes32",
1238
- "name": "",
1239
- "type": "bytes32"
1240
- }
1241
- ],
1242
- "stateMutability": "view",
1243
- "type": "function"
1244
- },
1245
- {
1246
- "inputs": [],
1247
- "name": "randomizerContract",
1248
- "outputs": [
1249
- {
1250
- "internalType": "contract IRandomizerV2",
1251
- "name": "",
1252
- "type": "address"
1253
- }
1254
- ],
1255
- "stateMutability": "view",
1256
- "type": "function"
1257
- },
1258
- {
1259
- "inputs": [
1260
- {
1261
- "internalType": "uint256",
1262
- "name": "_projectId",
1263
- "type": "uint256"
1264
- }
1265
- ],
1266
- "name": "removeProjectLastScript",
1267
- "outputs": [],
1268
- "stateMutability": "nonpayable",
1269
- "type": "function"
1270
- },
1271
- {
1272
- "inputs": [],
1273
- "name": "renderProviderPrimarySalesAddress",
1274
- "outputs": [
1275
- {
1276
- "internalType": "address payable",
1277
- "name": "",
1278
- "type": "address"
1279
- }
1280
- ],
1281
- "stateMutability": "view",
1282
- "type": "function"
1283
- },
1284
- {
1285
- "inputs": [],
1286
- "name": "renderProviderPrimarySalesPercentage",
1287
- "outputs": [
1288
- {
1289
- "internalType": "uint256",
1290
- "name": "",
1291
- "type": "uint256"
1292
- }
1293
- ],
1294
- "stateMutability": "view",
1295
- "type": "function"
1296
- },
1297
- {
1298
- "inputs": [],
1299
- "name": "renderProviderSecondarySalesAddress",
1300
- "outputs": [
1301
- {
1302
- "internalType": "address payable",
1303
- "name": "",
1304
- "type": "address"
1305
- }
1306
- ],
1307
- "stateMutability": "view",
1308
- "type": "function"
1309
- },
1310
- {
1311
- "inputs": [],
1312
- "name": "renderProviderSecondarySalesBPS",
1313
- "outputs": [
1314
- {
1315
- "internalType": "uint256",
1316
- "name": "",
1317
- "type": "uint256"
1318
- }
1319
- ],
1320
- "stateMutability": "view",
1321
- "type": "function"
1322
- },
1323
- {
1324
- "inputs": [],
1325
- "name": "renounceOwnership",
1326
- "outputs": [],
1327
- "stateMutability": "nonpayable",
1328
- "type": "function"
1329
- },
1330
- {
1331
- "inputs": [
1332
- {
1333
- "internalType": "address",
1334
- "name": "from",
1335
- "type": "address"
1336
- },
1337
- {
1338
- "internalType": "address",
1339
- "name": "to",
1340
- "type": "address"
1341
- },
1342
- {
1343
- "internalType": "uint256",
1344
- "name": "tokenId",
1345
- "type": "uint256"
1346
- }
1347
- ],
1348
- "name": "safeTransferFrom",
1349
- "outputs": [],
1350
- "stateMutability": "nonpayable",
1351
- "type": "function"
1352
- },
1353
- {
1354
- "inputs": [
1355
- {
1356
- "internalType": "address",
1357
- "name": "from",
1358
- "type": "address"
1359
- },
1360
- {
1361
- "internalType": "address",
1362
- "name": "to",
1363
- "type": "address"
1364
- },
1365
- {
1366
- "internalType": "uint256",
1367
- "name": "tokenId",
1368
- "type": "uint256"
1369
- },
1370
- {
1371
- "internalType": "bytes",
1372
- "name": "data",
1373
- "type": "bytes"
1374
- }
1375
- ],
1376
- "name": "safeTransferFrom",
1377
- "outputs": [],
1378
- "stateMutability": "nonpayable",
1379
- "type": "function"
1380
- },
1381
- {
1382
- "inputs": [
1383
- {
1384
- "internalType": "address",
1385
- "name": "operator",
1386
- "type": "address"
1387
- },
1388
- {
1389
- "internalType": "bool",
1390
- "name": "approved",
1391
- "type": "bool"
1392
- }
1393
- ],
1394
- "name": "setApprovalForAll",
1395
- "outputs": [],
1396
- "stateMutability": "nonpayable",
1397
- "type": "function"
1398
- },
1399
- {
1400
- "inputs": [
1401
- {
1402
- "internalType": "uint256",
1403
- "name": "_tokenId",
1404
- "type": "uint256"
1405
- },
1406
- {
1407
- "internalType": "bytes32",
1408
- "name": "_hashSeed",
1409
- "type": "bytes32"
1410
- }
1411
- ],
1412
- "name": "setTokenHash_8PT",
1413
- "outputs": [],
1414
- "stateMutability": "nonpayable",
1415
- "type": "function"
1416
- },
1417
- {
1418
- "inputs": [],
1419
- "name": "startingProjectId",
1420
- "outputs": [
1421
- {
1422
- "internalType": "uint256",
1423
- "name": "",
1424
- "type": "uint256"
1425
- }
1426
- ],
1427
- "stateMutability": "view",
1428
- "type": "function"
1429
- },
1430
- {
1431
- "inputs": [
1432
- {
1433
- "internalType": "bytes4",
1434
- "name": "interfaceId",
1435
- "type": "bytes4"
1436
- }
1437
- ],
1438
- "name": "supportsInterface",
1439
- "outputs": [
1440
- {
1441
- "internalType": "bool",
1442
- "name": "",
1443
- "type": "bool"
1444
- }
1445
- ],
1446
- "stateMutability": "view",
1447
- "type": "function"
1448
- },
1449
- {
1450
- "inputs": [],
1451
- "name": "symbol",
1452
- "outputs": [
1453
- {
1454
- "internalType": "string",
1455
- "name": "",
1456
- "type": "string"
1457
- }
1458
- ],
1459
- "stateMutability": "view",
1460
- "type": "function"
1461
- },
1462
- {
1463
- "inputs": [
1464
- {
1465
- "internalType": "uint256",
1466
- "name": "_projectId",
1467
- "type": "uint256"
1468
- }
1469
- ],
1470
- "name": "toggleProjectIsActive",
1471
- "outputs": [],
1472
- "stateMutability": "nonpayable",
1473
- "type": "function"
1474
- },
1475
- {
1476
- "inputs": [
1477
- {
1478
- "internalType": "uint256",
1479
- "name": "_projectId",
1480
- "type": "uint256"
1481
- }
1482
- ],
1483
- "name": "toggleProjectIsPaused",
1484
- "outputs": [],
1485
- "stateMutability": "nonpayable",
1486
- "type": "function"
1487
- },
1488
- {
1489
- "inputs": [
1490
- {
1491
- "internalType": "uint256",
1492
- "name": "_tokenId",
1493
- "type": "uint256"
1494
- }
1495
- ],
1496
- "name": "tokenIdToHash",
1497
- "outputs": [
1498
- {
1499
- "internalType": "bytes32",
1500
- "name": "",
1501
- "type": "bytes32"
1502
- }
1503
- ],
1504
- "stateMutability": "view",
1505
- "type": "function"
1506
- },
1507
- {
1508
- "inputs": [
1509
- {
1510
- "internalType": "uint256",
1511
- "name": "_tokenId",
1512
- "type": "uint256"
1513
- }
1514
- ],
1515
- "name": "tokenIdToHashSeed",
1516
- "outputs": [
1517
- {
1518
- "internalType": "bytes12",
1519
- "name": "",
1520
- "type": "bytes12"
1521
- }
1522
- ],
1523
- "stateMutability": "view",
1524
- "type": "function"
1525
- },
1526
- {
1527
- "inputs": [
1528
- {
1529
- "internalType": "uint256",
1530
- "name": "_tokenId",
1531
- "type": "uint256"
1532
- }
1533
- ],
1534
- "name": "tokenIdToProjectId",
1535
- "outputs": [
1536
- {
1537
- "internalType": "uint256",
1538
- "name": "_projectId",
1539
- "type": "uint256"
1540
- }
1541
- ],
1542
- "stateMutability": "pure",
1543
- "type": "function"
1544
- },
1545
- {
1546
- "inputs": [
1547
- {
1548
- "internalType": "uint256",
1549
- "name": "_tokenId",
1550
- "type": "uint256"
1551
- }
1552
- ],
1553
- "name": "tokenURI",
1554
- "outputs": [
1555
- {
1556
- "internalType": "string",
1557
- "name": "",
1558
- "type": "string"
1559
- }
1560
- ],
1561
- "stateMutability": "view",
1562
- "type": "function"
1563
- },
1564
- {
1565
- "inputs": [
1566
- {
1567
- "internalType": "address",
1568
- "name": "from",
1569
- "type": "address"
1570
- },
1571
- {
1572
- "internalType": "address",
1573
- "name": "to",
1574
- "type": "address"
1575
- },
1576
- {
1577
- "internalType": "uint256",
1578
- "name": "tokenId",
1579
- "type": "uint256"
1580
- }
1581
- ],
1582
- "name": "transferFrom",
1583
- "outputs": [],
1584
- "stateMutability": "nonpayable",
1585
- "type": "function"
1586
- },
1587
- {
1588
- "inputs": [
1589
- {
1590
- "internalType": "address",
1591
- "name": "newOwner",
1592
- "type": "address"
1593
- }
1594
- ],
1595
- "name": "transferOwnership",
1596
- "outputs": [],
1597
- "stateMutability": "nonpayable",
1598
- "type": "function"
1599
- },
1600
- {
1601
- "inputs": [
1602
- {
1603
- "internalType": "address",
1604
- "name": "_artblocksDependencyRegistryAddress",
1605
- "type": "address"
1606
- }
1607
- ],
1608
- "name": "updateArtblocksDependencyRegistryAddress",
1609
- "outputs": [],
1610
- "stateMutability": "nonpayable",
1611
- "type": "function"
1612
- },
1613
- {
1614
- "inputs": [
1615
- {
1616
- "internalType": "string",
1617
- "name": "_defaultBaseURI",
1618
- "type": "string"
1619
- }
1620
- ],
1621
- "name": "updateDefaultBaseURI",
1622
- "outputs": [],
1623
- "stateMutability": "nonpayable",
1624
- "type": "function"
1625
- },
1626
- {
1627
- "inputs": [
1628
- {
1629
- "internalType": "address",
1630
- "name": "_address",
1631
- "type": "address"
1632
- }
1633
- ],
1634
- "name": "updateMinterContract",
1635
- "outputs": [],
1636
- "stateMutability": "nonpayable",
1637
- "type": "function"
1638
- },
1639
- {
1640
- "inputs": [
1641
- {
1642
- "internalType": "uint256",
1643
- "name": "_projectId",
1644
- "type": "uint256"
1645
- },
1646
- {
1647
- "internalType": "address payable",
1648
- "name": "_artistAddress",
1649
- "type": "address"
1650
- }
1651
- ],
1652
- "name": "updateProjectArtistAddress",
1653
- "outputs": [],
1654
- "stateMutability": "nonpayable",
1655
- "type": "function"
1656
- },
1657
- {
1658
- "inputs": [
1659
- {
1660
- "internalType": "uint256",
1661
- "name": "_projectId",
1662
- "type": "uint256"
1663
- },
1664
- {
1665
- "internalType": "string",
1666
- "name": "_projectArtistName",
1667
- "type": "string"
1668
- }
1669
- ],
1670
- "name": "updateProjectArtistName",
1671
- "outputs": [],
1672
- "stateMutability": "nonpayable",
1673
- "type": "function"
1674
- },
1675
- {
1676
- "inputs": [
1677
- {
1678
- "internalType": "uint256",
1679
- "name": "_projectId",
1680
- "type": "uint256"
1681
- },
1682
- {
1683
- "internalType": "string",
1684
- "name": "_aspectRatio",
1685
- "type": "string"
1686
- }
1687
- ],
1688
- "name": "updateProjectAspectRatio",
1689
- "outputs": [],
1690
- "stateMutability": "nonpayable",
1691
- "type": "function"
1692
- },
1693
- {
1694
- "inputs": [
1695
- {
1696
- "internalType": "uint256",
1697
- "name": "_projectId",
1698
- "type": "uint256"
1699
- },
1700
- {
1701
- "internalType": "string",
1702
- "name": "_newBaseURI",
1703
- "type": "string"
1704
- }
1705
- ],
1706
- "name": "updateProjectBaseURI",
1707
- "outputs": [],
1708
- "stateMutability": "nonpayable",
1709
- "type": "function"
1710
- },
1711
- {
1712
- "inputs": [
1713
- {
1714
- "internalType": "uint256",
1715
- "name": "_projectId",
1716
- "type": "uint256"
1717
- },
1718
- {
1719
- "internalType": "string",
1720
- "name": "_projectDescription",
1721
- "type": "string"
1722
- }
1723
- ],
1724
- "name": "updateProjectDescription",
1725
- "outputs": [],
1726
- "stateMutability": "nonpayable",
1727
- "type": "function"
1728
- },
1729
- {
1730
- "inputs": [
1731
- {
1732
- "internalType": "uint256",
1733
- "name": "_projectId",
1734
- "type": "uint256"
1735
- },
1736
- {
1737
- "internalType": "string",
1738
- "name": "_projectLicense",
1739
- "type": "string"
1740
- }
1741
- ],
1742
- "name": "updateProjectLicense",
1743
- "outputs": [],
1744
- "stateMutability": "nonpayable",
1745
- "type": "function"
1746
- },
1747
- {
1748
- "inputs": [
1749
- {
1750
- "internalType": "uint256",
1751
- "name": "_projectId",
1752
- "type": "uint256"
1753
- },
1754
- {
1755
- "internalType": "uint24",
1756
- "name": "_maxInvocations",
1757
- "type": "uint24"
1758
- }
1759
- ],
1760
- "name": "updateProjectMaxInvocations",
1761
- "outputs": [],
1762
- "stateMutability": "nonpayable",
1763
- "type": "function"
1764
- },
1765
- {
1766
- "inputs": [
1767
- {
1768
- "internalType": "uint256",
1769
- "name": "_projectId",
1770
- "type": "uint256"
1771
- },
1772
- {
1773
- "internalType": "string",
1774
- "name": "_projectName",
1775
- "type": "string"
1776
- }
1777
- ],
1778
- "name": "updateProjectName",
1779
- "outputs": [],
1780
- "stateMutability": "nonpayable",
1781
- "type": "function"
1782
- },
1783
- {
1784
- "inputs": [
1785
- {
1786
- "internalType": "uint256",
1787
- "name": "_projectId",
1788
- "type": "uint256"
1789
- },
1790
- {
1791
- "internalType": "uint256",
1792
- "name": "_scriptId",
1793
- "type": "uint256"
1794
- },
1795
- {
1796
- "internalType": "string",
1797
- "name": "_script",
1798
- "type": "string"
1799
- }
1800
- ],
1801
- "name": "updateProjectScript",
1802
- "outputs": [],
1803
- "stateMutability": "nonpayable",
1804
- "type": "function"
1805
- },
1806
- {
1807
- "inputs": [
1808
- {
1809
- "internalType": "uint256",
1810
- "name": "_projectId",
1811
- "type": "uint256"
1812
- },
1813
- {
1814
- "internalType": "bytes32",
1815
- "name": "_scriptTypeAndVersion",
1816
- "type": "bytes32"
1817
- }
1818
- ],
1819
- "name": "updateProjectScriptType",
1820
- "outputs": [],
1821
- "stateMutability": "nonpayable",
1822
- "type": "function"
1823
- },
1824
- {
1825
- "inputs": [
1826
- {
1827
- "internalType": "uint256",
1828
- "name": "_projectId",
1829
- "type": "uint256"
1830
- },
1831
- {
1832
- "internalType": "uint256",
1833
- "name": "_secondMarketRoyalty",
1834
- "type": "uint256"
1835
- }
1836
- ],
1837
- "name": "updateProjectSecondaryMarketRoyaltyPercentage",
1838
- "outputs": [],
1839
- "stateMutability": "nonpayable",
1840
- "type": "function"
1841
- },
1842
- {
1843
- "inputs": [
1844
- {
1845
- "internalType": "uint256",
1846
- "name": "_projectId",
1847
- "type": "uint256"
1848
- },
1849
- {
1850
- "internalType": "string",
1851
- "name": "_projectWebsite",
1852
- "type": "string"
1853
- }
1854
- ],
1855
- "name": "updateProjectWebsite",
1856
- "outputs": [],
1857
- "stateMutability": "nonpayable",
1858
- "type": "function"
1859
- },
1860
- {
1861
- "inputs": [
1862
- {
1863
- "internalType": "uint256",
1864
- "name": "renderProviderPrimarySalesPercentage_",
1865
- "type": "uint256"
1866
- },
1867
- {
1868
- "internalType": "uint256",
1869
- "name": "platformProviderPrimarySalesPercentage_",
1870
- "type": "uint256"
1871
- }
1872
- ],
1873
- "name": "updateProviderPrimarySalesPercentages",
1874
- "outputs": [],
1875
- "stateMutability": "nonpayable",
1876
- "type": "function"
1877
- },
1878
- {
1879
- "inputs": [
1880
- {
1881
- "internalType": "address payable",
1882
- "name": "_renderProviderPrimarySalesAddress",
1883
- "type": "address"
1884
- },
1885
- {
1886
- "internalType": "address payable",
1887
- "name": "_renderProviderSecondarySalesAddress",
1888
- "type": "address"
1889
- },
1890
- {
1891
- "internalType": "address payable",
1892
- "name": "_platformProviderPrimarySalesAddress",
1893
- "type": "address"
1894
- },
1895
- {
1896
- "internalType": "address payable",
1897
- "name": "_platformProviderSecondarySalesAddress",
1898
- "type": "address"
1899
- }
1900
- ],
1901
- "name": "updateProviderSalesAddresses",
1902
- "outputs": [],
1903
- "stateMutability": "nonpayable",
1904
- "type": "function"
1905
- },
1906
- {
1907
- "inputs": [
1908
- {
1909
- "internalType": "uint256",
1910
- "name": "_renderProviderSecondarySalesBPS",
1911
- "type": "uint256"
1912
- },
1913
- {
1914
- "internalType": "uint256",
1915
- "name": "_platformProviderSecondarySalesBPS",
1916
- "type": "uint256"
1917
- }
1918
- ],
1919
- "name": "updateProviderSecondarySalesBPS",
1920
- "outputs": [],
1921
- "stateMutability": "nonpayable",
1922
- "type": "function"
1923
- },
1924
- {
1925
- "inputs": [
1926
- {
1927
- "internalType": "address",
1928
- "name": "_randomizerAddress",
1929
- "type": "address"
1930
- }
1931
- ],
1932
- "name": "updateRandomizerAddress",
1933
- "outputs": [],
1934
- "stateMutability": "nonpayable",
1935
- "type": "function"
1936
- }
1937
- ],
1938
- "bytecode": "0x60c0604052600e8054600560a11b60ff60a01b199182168117909255600f8054909116909117905560fa60118190556013553480156200003e57600080fd5b5060405162005f8738038062005f8783398101604081905262000061916200075c565b88886000620000718382620008e6565b506001620000808282620008e6565b5050506200009d620000976200024760201b60201c565b6200024b565b620000a88762000283565b620000b38662000283565b620000be8562000283565b620000c98462000283565b81151560a0526001600160f81b038316608052620000ea87808880620002e2565b620000f5856200036c565b62000100846200024b565b6200014b62000123306001600160a01b0316620003f460201b620035a91760201c565b604051602001620001359190620009b2565b60408051601f1981840301815291905262000412565b601580547fff00000000000000000000000000000000000000000000000000000000000000166001600160f81b0385161790556040516c1b995e1d141c9bda9958dd1259609a1b9060008051602062005f6783398151915290600090a260405163f889b3ed60e01b8152306004820152653b199718971960d11b60248201527f47656e417274373231436f726556335f456e67696e650000000000000000000060448201526001600160a01b0382169063f889b3ed90606401600060405180830381600087803b1580156200021f57600080fd5b505af115801562000234573d6000803e3d6000fd5b5050505050505050505050505062000a7a565b3390565b62000261816200044f60201b620035bf1760201c565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116620002df5760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f2061646472657373000000000060448201526064015b60405180910390fd5b50565b600f80546001600160a01b038085166001600160a01b03199283161790925560128054848416908316179055600e805487841690831617905560108054928616929091169190911790556040517f70726f766964657253616c6573416464726573736573000000000000000000009060008051602062005f6783398151915290600090a250505050565b600880546001600160a01b0383166001600160a01b031991821681179092556009805460018101825560009182527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490921690921790556040517072616e646f6d697a65724164647265737360781b9160008051602062005f6783398151915291a250565b60606200040c6001600160a01b0383166014620004a1565b92915050565b6016620004208282620008e6565b506040516d64656661756c744261736555524960901b9060008051602062005f6783398151915290600090a250565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606000620004b283600262000a1a565b620004bf90600262000a34565b6001600160401b03811115620004d957620004d962000661565b6040519080825280601f01601f19166020018201604052801562000504576020820181803683370190505b509050600360fc1b8160008151811062000522576200052262000a4a565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062000554576200055462000a4a565b60200101906001600160f81b031916908160001a90535060006200057a84600262000a1a565b6200058790600162000a34565b90505b600181111562000609576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620005bf57620005bf62000a4a565b1a60f81b828281518110620005d857620005d862000a4a565b60200101906001600160f81b031916908160001a90535060049490941c93620006018162000a60565b90506200058a565b5083156200065a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620002d6565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006945781810151838201526020016200067a565b50506000910152565b600082601f830112620006af57600080fd5b81516001600160401b0380821115620006cc57620006cc62000661565b604051601f8301601f19908116603f01168101908282118183101715620006f757620006f762000661565b816040528381528660208588010111156200071157600080fd5b6200072484602083016020890162000677565b9695505050505050565b80516001600160a01b03811681146200074657600080fd5b919050565b805180151581146200074657600080fd5b60008060008060008060008060006101208a8c0312156200077c57600080fd5b89516001600160401b03808211156200079457600080fd5b620007a28d838e016200069d565b9a5060208c0151915080821115620007b957600080fd5b50620007c88c828d016200069d565b985050620007d960408b016200072e565b9650620007e960608b016200072e565b9550620007f960808b016200072e565b94506200080960a08b016200072e565b60c08b01519094506001600160f81b03811681146200082757600080fd5b92506200083760e08b016200074b565b9150620008486101008b016200072e565b90509295985092959850929598565b600181811c908216806200086c57607f821691505b6020821081036200088d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620008e157600081815260208120601f850160051c81016020861015620008bc5750805b601f850160051c820191505b81811015620008dd57828155600101620008c8565b5050505b505050565b81516001600160401b0381111562000902576200090262000661565b6200091a8162000913845462000857565b8462000893565b602080601f831160018114620009525760008415620009395750858301515b600019600386901b1c1916600185901b178555620008dd565b600085815260208120601f198616915b82811015620009835788860151825594840194600190910190840162000962565b5085821015620009a25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b7f68747470733a2f2f746f6b656e2e617274626c6f636b732e696f2f0000000000815260008251620009ec81601b85016020870162000677565b602f60f81b601b939091019283015250601c01919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200040c576200040c62000a04565b808201808211156200040c576200040c62000a04565b634e487b7160e01b600052603260045260246000fd5b60008162000a725762000a7262000a04565b506000190190565b60805160a0516154b962000aae60003960008181610b4c0152611b26015260008181610c940152613ea601526154b96000f3fe608060405234801561001057600080fd5b50600436106104145760003560e01c8063715018a611610223578063b75395e01161012c578063b75395e014610a4d578063b7b04fae14610a60578063b88d4fde14610a73578063b971136814610a86578063bb3bafd614610a8e578063bd3d10e714610aaf578063c34a03b514610ac2578063c6c7c5bf14610ad5578063c87b56dd14610ae8578063cc90e72514610afb578063d03c390c14610b0e578063db21a84614610b21578063db2ff86114610b34578063e6032df214610b47578063e935b7b114610b6e578063e985e9c514610b7f578063eb9cd5d414610b92578063ed8abfda14610bb4578063f2fde38b14610bde578063f313d73314610bf1578063f851a44014610c87578063f893c07b14610c8f57600080fd5b8063715018a61461081757806376ee6fab1461081f5780638639415b146108325780638c3c9cdd1461088d5780638da5cb5b146108a05780638dd91a56146108a857806392f00233146108cc57806395d89b41146108df5780639a02e4fa146108e7578063a11ec70a1461091e578063a22cb46514610931578063a3b2cca614610944578063a47d29cb14610957578063abcbb7b414610983578063ac11fa1c1461098b578063acad0124146109ab578063acd4c66f146109be578063ad0305ce146109d0578063ad2cdfc4146109f2578063ae45ad9814610a1f578063b1656ba314610a27578063b168762214610a3a57600080fd5b806328ec8f501161032557806328ec8f501461063c5780632b274166146106695780632b65e67d1461067c5780632b8258c51461068f5780632d9c02051461069857806330ef4c5f146106ab57806336c7c12c146106bd57806337859963146106d057806338c8e468146106e35780633bb225531461070f5780633e48e8481461071857806341814cd31461072b57806342842e0e1461073e57806348337282146107515780634e1d64af146107645780635508fd521461076c57806358b9a5a914610780578063621a1f74146107b85780636352211e146107cb57806369d14faf146107de5780636c907b7f146107f157806370a082311461080457600080fd5b80611e3c146104195780615de51461042e5780630132c6971461045457806301856fd41461046757806301ffc9a71461047a57806304143a5c1461049d57806306fdde03146104a5578063081812fc146104ba578063095ea7b3146104e55780630d170673146104f85780630e79c9281461050b5780630ea5613f1461051e5780630ebeb0ee1461056857806317df5366146105915780631ab6014c146105a45780631b689c0b146105b75780631c05cad7146105ca5780631e9bef46146105dd5780632302cbda146105f0578063230448b11461060357806323b872dd1461061657806325b75d6814610629575b600080fd5b61042c610427366004614741565b610cb6565b005b61044161043c366004614778565b610de5565b6040519081526020015b60405180910390f35b61042c6104623660046147ba565b611089565b61042c610475366004614741565b6111af565b61048d610488366004614808565b611263565b604051901515815260200161044b565b61042c61128e565b6104ad6112f6565b60405161044b9190614875565b6104cd6104c8366004614888565b611388565b6040516001600160a01b03909116815260200161044b565b61042c6104f33660046148a1565b6113af565b61042c610506366004614978565b6114c4565b61042c610519366004614978565b611529565b61053161052c366004614888565b611725565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161044b565b6104cd610576366004614888565b6000908152600c60205260409020546001600160a01b031690565b6007546104cd906001600160a01b031681565b600f546104cd906001600160a01b031681565b6104416105c5366004614888565b611788565b61042c6105d83660046149be565b611797565b600a546104cd906001600160a01b031681565b61042c6105fe366004614a1a565b6117d7565b61048d610611366004614a4e565b6117fc565b61042c610624366004614a8e565b6118a8565b61042c610637366004614978565b6118d9565b61044161064a366004614888565b6000908152600c6020526040902060010154600160a01b900460ff1690565b61042c610677366004614acf565b611941565b61042c61068a366004614aec565b6119ad565b61044160135481565b6104ad6106a6366004614888565b611d13565b600f54600160a01b900460ff16610441565b6008546104cd906001600160a01b031681565b61042c6106de366004614978565b611db8565b6104cd6106f1366004614888565b6000908152600c60205260409020600101546001600160a01b031690565b61044160115481565b61042c610726366004614978565b611e06565b6010546104cd906001600160a01b031681565b61042c61074c366004614a8e565b611e5d565b61042c61075f366004614acf565b611e78565b6104ad611edb565b60155461048d90600160f81b900460ff1681565b6104cd61078e366004614741565b6000918252600b60209081526040808420928452600990920190529020546001600160a01b031690565b6104416107c6366004614888565b611ef4565b6104cd6107d9366004614888565b611f56565b61042c6107ec366004614b53565b611f8b565b61042c6107ff366004614acf565b612004565b610441610812366004614acf565b612026565b61042c6120ac565b61042c61082d366004614aec565b6120c4565b610845610840366004614741565b61228c565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e08201526101000161044b565b6104ad61089b366004614741565b612395565b6104cd6123f4565b6108bb6108b6366004614888565b612408565b60405161044b959493929190614b78565b6014546104cd906001600160a01b031681565b6104ad6126fc565b6109116108f5366004614888565b600090815260026020526040902054600160a01b900460a01b90565b60405161044b9190614be5565b61042c61092c366004614888565b61270b565b61042c61093f366004614c08565b612763565b61042c610952366004614978565b612772565b6104cd610965366004614888565b6000908152600c60205260409020600201546001600160a01b031690565b6104ad61285e565b610441610999366004614888565b600d6020526000908152604090205481565b61042c6109b9366004614978565b6128ec565b600e54600160a01b900460ff16610441565b61048d6109de366004614acf565b6014546001600160a01b0390811691161490565b610441610a00366004614888565b6000908152600c6020526040902060020154600160a01b900460ff1690565b6104ad6129bf565b61042c610a35366004614c36565b6129e3565b6104cd610a48366004614888565b612ac8565b600e546104cd906001600160a01b031681565b61042c610a6e366004614978565b612b40565b61042c610a81366004614c85565b612bab565b600954610441565b610aa1610a9c366004614888565b612bdd565b60405161044b929190614d04565b61042c610abd366004614741565b612e71565b61042c610ad0366004614741565b612f3d565b6012546104cd906001600160a01b031681565b6104ad610af6366004614888565b612fde565b61042c610b09366004614d88565b6130c6565b61042c610b1c366004614888565b61321b565b61042c610b2f366004614741565b613283565b61042c610b42366004614888565b613322565b61048d7f000000000000000000000000000000000000000000000000000000000000000081565b6015546001600160f81b0316610441565b61048d610b8d366004614dce565b61342f565b610ba5610ba0366004614888565b61345d565b60405161044b93929190614dfc565b610441610bc2366004614888565b6000908152600c6020526040902054600160a01b900460ff1690565b61042c610bec366004614acf565b613529565b610c49610bff366004614888565b6000908152600c60205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c00161044b565b6104cd61359f565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b610cbf82613611565b60008281526002602052604090206008546001600160a01b03163314610d265760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b60448201526064015b60405180910390fd5b8054600160a01b900460a01b6001600160a01b03191615610d825760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610d1d565b81610dc35760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610d1d565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b6014546000906001600160a01b03163314610e425760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610d1d565b6000838152600b60205260409020805462ffffff808216916001830191630100000090910416808310610eb75760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610d1d565b8354600160881b900460ff1680610eea57506000878152600c60205260409020600201546001600160a01b038781169116145b610f365760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610d1d565b8354600160901b900460ff161580610f6a57506000878152600c60205260409020600201546001600160a01b038781169116145b610fae5760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610d1d565b835462ffffff191662ffffff8381169182178655848116620f42408a0201919083169003610fdf57610fdf88613660565b610fe989826136b8565b600854604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a398975050505050505050565b611092826137ea565b6000828152600b60205260409020805462ffffff80821691630100000090048116908416106111025760405162461bcd60e51b815260206004820152601c60248201527b4f6e6c79206d6178496e766f636174696f6e7320646563726561736560201b6044820152606401610d1d565b808362ffffff16101561114e5760405162461bcd60e51b81526020600482015260146024820152734f6e6c792067746520696e766f636174696f6e7360601b6044820152606401610d1d565b815465ffffff0000001916630100000062ffffff8516021782556040516d6d6178496e766f636174696f6e7360901b90859060008051602061546483398151915290600090a3808362ffffff16036111a9576111a984613660565b50505050565b6111b882613841565b6111c88262615bf560e21b613889565b6000828152600b602052604090819020906111e69083906001613903565b61122f5760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610d1d565b60078101829055604051697363726970745479706560b01b90849060008051602061546483398151915290600090a3505050565b60006001600160e01b03198216635d9dd7eb60e11b1480611288575061128882613976565b92915050565b61129e6301050e9760e21b6139c6565b601554600160f81b900460ff16156112ec5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610d1d565b6112f4613a16565b565b60606000805461130590614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461133190614e32565b801561137e5780601f106113535761010080835404028352916020019161137e565b820191906000526020600020905b81548152906001019060200180831161136157829003601f168201915b5050505050905090565b600061139382613a6e565b506000908152600460205260409020546001600160a01b031690565b60006113ba82611f56565b9050806001600160a01b0316836001600160a01b0316036114275760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610d1d565b336001600160a01b03821614806114435750611443813361342f565b6114b55760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610d1d565b6114bf8383613a93565b505050565b6114cd82613841565b6114de82630d17067360e01b613889565b6114e781613b01565b6000828152600b602052604090206001016115028282614ec9565b50604051636e616d6560e01b90839060008051602061546483398151915290600090a35050565b61153282613841565b611543826301cf392560e31b613889565b61154c81613b01565b80518190600b8111156115a05760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610d1d565b60008060005b8381101561168c5760008582815181106115c2576115c2614f82565b01602001516001600160f81b0319169050600360fc1b81108015906115f55750603960f81b6001600160f81b0319821611155b1561160457600192505061167a565b6001600160f81b03198116601760f91b03611628578361162857600193505061167a565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610d1d565b8061168481614fae565b9150506115a6565b50806116d85760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610d1d565b6000868152600b602052604090206008016116f38682614ec9565b506040516a617370656374526174696f60a81b90879060008051602061546483398151915290600090a3505050505050565b6000818152600b60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161177b88613b50565b1591505091939550919395565b6000611288620f424083614fdd565b6117a7631c05cad760e01b6139c6565b6117b084613b9a565b6117b983613b9a565b6117c282613b9a565b6117cb81613b9a565b6111a984848484613bee565b6117e763118165ed60e11b6139c6565b6117f081613b01565b6117f981613c70565b50565b6000806118076123f4565b6001600160a01b0316141580156118a05750600a546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561187c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a09190614ff1565b949350505050565b6118b23382613caa565b6118ce5760405162461bcd60e51b8152600401610d1d9061500e565b6114bf838383613d08565b6118e282613841565b6118f3826304b6ebad60e31b613889565b6118fc81613b01565b6000828152600b602052604090206005016119178282614ec9565b50604051666c6963656e736560c81b90839060008051602061546483398151915290600090a35050565b611951631593a0b360e11b6139c6565b61195a81613b9a565b600780546001600160a01b0319166001600160a01b03831617905560405178646570656e64656e637952656769737472794164647265737360381b9060008051602061544483398151915290600090a250565b6119b686613ea4565b6119bf866137ea565b6119c885613b9a565b6000868152600c60205260409020606484118015906119e8575060648211155b611a225760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610d1d565b831580611a3757506001600160a01b03851615155b611a835760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610d1d565b811580611a9857506001600160a01b03831615155b611ae45760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610d1d565b867f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8787878787604051611b1c95949392919061505c565b60405180910390a27f000000000000000000000000000000000000000000000000000000000000000080611bc257600282015482546001600160a01b03918216898316149160009181169089161480611b7c57506001600160a01b038816155b60018501549091506000906001600160a01b0388811691161480611ba757506001600160a01b038716155b9050828015611bb35750815b8015611bbc5750805b93505050505b8015611cca576000801b600d60008a815260200190815260200160002081905550868260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848260020160146101000a81548160ff021916908360ff160217905550838260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828260010160146101000a81548160ff021916908360ff160217905550877fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a2611d09565b8686868686604051602001611ce395949392919061505c565b60408051601f19818403018152918152815160209283012060008b8152600d9093529120555b5050505050505050565b6000818152600b60205260409020600601805460609190611d3390614e32565b80601f0160208091040260200160405190810160405280929190818152602001828054611d5f90614e32565b8015611dac5780601f10611d8157610100808354040283529160200191611dac565b820191906000526020600020905b815481529060010190602001808311611d8f57829003601f168201915b50505050509050919050565b611dc1826137ea565b6000828152600b60205260409020600401611ddc8282614ec9565b50604051667765627369746560c81b90839060008051602061546483398151915290600090a35050565b611e0f826137ea565b611e1881613b01565b6000828152600b60205260409020600601611e338282614ec9565b50604051666261736555524960c81b90839060008051602061546483398151915290600090a35050565b6114bf83838360405180602001604052806000815250612bab565b611e88632419b94160e11b6139c6565b611e9181613b9a565b601480546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b6060611eef653b199718971960d11b613f26565b905090565b600081815260026020526040812054600160a01b900460a01b6001600160a01b031981168203611f275750600092915050565b80604051602001611f389190614be5565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b0316806112885760405162461bcd60e51b8152600401610d1d9061508f565b611f9482613ea4565b611fa5826369d14faf60e01b613f91565b611fae81613b9a565b6000828152600c602052604080822060020180546001600160a01b0319166001600160a01b038516179055516c6172746973744164647265737360981b9184916000805160206154648339815191529190a35050565b612014636c907b7f60e01b6139c6565b61201d81613b9a565b6117f981614048565b60006001600160a01b0382166120905760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610d1d565b506001600160a01b031660009081526003602052604090205490565b6120b46140cf565b6120bc613a16565b6112f461412e565b6120cd86613ea4565b6120de866376ee6fab60e01b613f91565b6120e785613b9a565b848484848460405160200161210095949392919061505c565b60408051601f1981840301815291815281516020928301206000898152600d9093529120541461216f5760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610d1d565b6000600c60008881526020019081526020016000209050858160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838160020160146101000a81548160ff021916908360ff160217905550828160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818160010160146101000a81548160ff021916908360ff1602179055506000801b600d600089815260200190815260200160002081905550867fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a250505050505050565b6000828152600c60205260408120600e548291829182918291829182918291908a906064906122c590600160a01b900460ff16836150c1565b6122cf9190614fdd565b99506122db8a826150d8565b600f549091506064906122f890600160a01b900460ff168d6150c1565b6123029190614fdd565b975061230e88826150d8565b600283015490915060649061232d90600160a01b900460ff16836150c1565b6123379190614fdd565b935061234384826150d8565b600e54600f546001600160a01b039182169b50169750955085156123725760028201546001600160a01b031694505b83156123865781546001600160a01b031692505b50509295985092959890939650565b6000828152600b60205260409020805460609190600160301b900462ffffff1683106123d1575050604080516020810190915260008152611288565b60008381526009820160205260409020546118a0906001600160a01b0316614140565b6000611eef6006546001600160a01b031690565b60608060608060606000600b6000888152602001908152602001600020905080600101805461243690614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461246290614e32565b80156124af5780601f10612484576101008083540402835291602001916124af565b820191906000526020600020905b81548152906001019060200180831161249257829003601f168201915b505050505095508060020180546124c590614e32565b80601f01602080910402602001604051908101604052809291908181526020018280546124f190614e32565b801561253e5780601f106125135761010080835404028352916020019161253e565b820191906000526020600020905b81548152906001019060200180831161252157829003601f168201915b5050505050945080600301805461255490614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461258090614e32565b80156125cd5780601f106125a2576101008083540402835291602001916125cd565b820191906000526020600020905b8154815290600101906020018083116125b057829003601f168201915b505050505093508060040180546125e390614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461260f90614e32565b801561265c5780601f106126315761010080835404028352916020019161265c565b820191906000526020600020905b81548152906001019060200180831161263f57829003601f168201915b5050505050925080600501805461267290614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461269e90614e32565b80156126eb5780601f106126c0576101008083540402835291602001916126eb565b820191906000526020600020905b8154815290600101906020018083116126ce57829003601f168201915b505050505091505091939590929450565b60606001805461130590614e32565b612714816137ea565b6000818152600b6020526040808220805460ff60901b198116600160901b9182900460ff161590910217905551651c185d5cd95960d21b9183916000805160206154648339815191529190a350565b61276e3383836141cb565b5050565b61277b82613b50565b6127965761279133306351d9665360e11b6117fc565b6127b4565b6000828152600c60205260409020600201546001600160a01b031633145b6128155760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610d1d565b6000828152600b602052604090206003016128308282614ec9565b506040516a3232b9b1b934b83a34b7b760a91b90839060008051602061546483398151915290600090a35050565b6016805461286b90614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461289790614e32565b80156128e45780601f106128b9576101008083540402835291602001916128e4565b820191906000526020600020905b8154815290600101906020018083116128c757829003601f168201915b505050505081565b6128f582613841565b61290682632b2b404960e21b613889565b61290f81613b01565b6000828152600b6020526040902061292682614295565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612978929190041660016150eb565b815462ffffff91909116600160301b0262ffffff60301b19909116178155604051651cd8dc9a5c1d60d21b90849060008051602061546483398151915290600090a3505050565b6060611eef7547656e417274373231436f726556335f456e67696e6560501b613f26565b6129ec83613841565b6129fd8363b1656ba360e01b613889565b612a0681613b01565b6000838152600b602052604090208054600160301b900462ffffff168310612a685760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610d1d565b612a7182614295565b600084815260098301602052604080822080546001600160a01b0319166001600160a01b0394909416939093179092559051651cd8dc9a5c1d60d21b9186916000805160206154648339815191529190a350505050565b6009546000908210612b125760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610d1d565b60098281548110612b2557612b25614f82565b6000918252602090912001546001600160a01b031692915050565b612b4982613841565b612b5a82635bd827d760e11b613889565b612b6381613b01565b6000828152600b60205260409020600201612b7e8282614ec9565b50604051696172746973744e616d6560b01b90839060008051602061546483398151915290600090a35050565b612bb53383613caa565b612bd15760405162461bcd60e51b8152600401610d1d9061500e565b6111a984848484614323565b606080612be983613611565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a082019092529294509050602082016080803683370190505090506000612c3684611788565b6000818152600c6020526040812080546001820154939450909260ff600160a01b9283900481169392909104169082612c708360646150d8565b612c7a91906150c1565b90506000612c8884846150c1565b6011546013549192509060008415612d025760028801548b516001600160a01b03909116908c9083908110612cbf57612cbf614f82565b6001600160a01b0390921660209283029190910190910152848a82612ce381614fae565b935081518110612cf557612cf5614f82565b6020026020010181815250505b8315612d705760018801548b516001600160a01b03909116908c9083908110612d2d57612d2d614f82565b6001600160a01b0390921660209283029190910190910152838a82612d5181614fae565b935081518110612d6357612d63614f82565b6020026020010181815250505b8215612ddc576010548b516001600160a01b03909116908c9083908110612d9957612d99614f82565b6001600160a01b0390921660209283029190910190910152828a82612dbd81614fae565b935081518110612dcf57612dcf614f82565b6020026020010181815250505b8115612e48576012548b516001600160a01b03909116908c9083908110612e0557612e05614f82565b6001600160a01b0390921660209283029190910190910152818a82612e2981614fae565b935081518110612e3b57612e3b614f82565b6020026020010181815250505b8060041115612e635780600403808c51038c52808b51038b52505b505050505050505050915091565b612e8163bd3d10e760e01b6139c6565b6064612e8d828461510e565b1115612ed65760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610d1d565b600e805460ff808516600160a01b90810260ff60a01b1993841617909355600f805491851690930291161790556040517970726f76696465725072696d61727950657263656e746167657360301b9060008051602061544483398151915290600090a25050565b612f46826137ea565b605f811115612f8a5760405162461bcd60e51b815260206004820152601060248201526f13dd995c881b585e081c195c98d95b9d60821b6044820152606401610d1d565b6000828152600c6020526040808220805460ff60a01b1916600160a01b60ff8616021790555170726f79616c747950657263656e7461676560781b9184916000805160206154648339815191529190a35050565b6060612fe982613611565b6000600b6000612ff885611788565b8152602001908152602001600020600601805461301490614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461304090614e32565b801561308d5780601f106130625761010080835404028352916020019161308d565b820191906000526020600020905b81548152906001019060200180831161307057829003601f168201915b505050505090508061309e84614356565b6040516020016130af92919061513d565b604051602081830303815290604052915050919050565b6130d663cc90e72560e01b6139c6565b6130df82613b01565b6130e881613b9a565b601554600160f81b900460ff161561313b5760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610d1d565b6015546001600160f81b03166000818152600c6020908152604080832060020180546001600160a01b0319166001600160a01b038716179055600b90915290206001016131888482614ec9565b506000818152600b60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b011781556006016131c560168261516c565b506131d1816001615240565b601580546001600160f81b0319166001600160f81b03929092169190911790556040516618dc99585d195960ca1b90829060008051602061546483398151915290600090a3505050565b61322b63340f0e4360e21b6139c6565b61323481613ea4565b6000818152600b6020526040808220805460ff60881b198116600160881b9182900460ff1615909102179055516561637469766560d01b9183916000805160206154648339815191529190a350565b613293636d90d42360e11b6139c6565b6127106132a0828461510e565b11156132e45760405162461bcd60e51b81526020600482015260136024820152724f766572206d61782073756d206f662042505360681b6044820152606401610d1d565b601182905560138190556040517370726f76696465725365636f6e6461727942505360601b9060008051602061544483398151915290600090a25050565b61332b81613841565b61333c8163db2ff86160e01b613889565b6000818152600b602052604090208054600160301b900462ffffff1661339b5760405162461bcd60e51b81526020600482015260146024820152734e6f207363726970747320746f2072656d6f766560601b6044820152606401610d1d565b805460098201906000906133bd90600190600160301b900462ffffff16615260565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b0319169055835462ffffff60301b198116600160301b918290048516600019019094160292909217835551651cd8dc9a5c1d60d21b9184916000805160206154648339815191529190a35050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600b6020526040812060078101546060928392909161348090613f26565b935080600801805461349190614e32565b80601f01602080910402602001604051908101604052809291908181526020018280546134bd90614e32565b801561350a5780601f106134df5761010080835404028352916020019161350a565b820191906000526020600020905b8154815290600101906020018083116134ed57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b6135316140cf565b6001600160a01b0381166135965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d1d565b6117f981614456565b6000611eef6123f4565b60606112886001600160a01b0383166014614481565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61361a81614623565b6117f95760405162461bcd60e51b8152602060048201526017602482015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b6044820152606401610d1d565b6000818152600b6020526040808220805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055516818dbdb5c1b195d195960ba1b9183916000805160206154648339815191529190a350565b6001600160a01b03821661370e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610d1d565b61371781614623565b156137635760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610d1d565b6001600160a01b038216600090815260036020526040812080546001929061378c90849061510e565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000818152600c60205260409020600201546001600160a01b031633146117f95760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48185c9d1a5cdd60aa1b6044820152606401610d1d565b61384a81613b50565b6117f95760405162461bcd60e51b815260206004820152601060248201526f13db9b1e481a59881d5b9b1bd8dad95960821b6044820152606401610d1d565b6000828152600c60205260409020600201546001600160a01b03163314806138b757506138b73330836117fc565b61276e5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f7765646044820152606401610d1d565b600080805b60208160ff161015613962576000868260ff166020811061392b5761392b614f82565b1a90508015801590613940575060808160ff16105b15613959578560ff168160ff1603613959578260010192505b50600101613908565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b14806139a757506001600160e01b03198216635b5e139f60e01b145b8061128857506301ffc9a760e01b6001600160e01b0319831614611288565b6139d13330836117fc565b6117f95760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b6044820152606401610d1d565b601554600160f81b900460ff166112f457601580546001600160f81b0316600160f81b179055604051733732bba83937b532b1ba39a337b93134b23232b760611b9060008051602061544483398151915290600090a2565b613a7781614623565b6117f95760405162461bcd60e51b8152600401610d1d9061508f565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190613ac882611f56565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b80516000036117f95760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b6044820152606401610d1d565b6000613b5b82613ea4565b6000828152600b6020526040902054600160481b90046001600160401b0316801580806118a057506224ea00613b9183426150d8565b10949350505050565b6001600160a01b0381166117f95760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b6044820152606401610d1d565b600f80546001600160a01b038085166001600160a01b03199283161790925560128054848416908316179055600e805487841690831617905560108054928616929091169190911790556040517570726f766964657253616c657341646472657373657360501b9060008051602061544483398151915290600090a250505050565b6016613c7c8282614ec9565b506040516d64656661756c744261736555524960901b9060008051602061544483398151915290600090a250565b600080613cb683611f56565b9050806001600160a01b0316846001600160a01b03161480613cdd5750613cdd818561342f565b806118a05750836001600160a01b0316613cf684611388565b6001600160a01b031614949350505050565b826001600160a01b0316613d1b82611f56565b6001600160a01b031614613d7f5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610d1d565b6001600160a01b038216613de15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610d1d565b613dec600082613a93565b6001600160a01b0383166000908152600360205260408120805460019290613e159084906150d8565b90915550506001600160a01b0382166000908152600360205260408120805460019290613e4390849061510e565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f00000000000000000000000000000000000000000000000000000000000000008110158015613ede57506015546001600160f81b031681105b6117f95760405162461bcd60e51b8152602060048201526019602482015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b6044820152606401610d1d565b606060005b828160ff1660208110613f4057613f40614f82565b1a60f81b6001600160f81b03191615801590613f5f575060208160ff16105b15613f765780613f6e8161527c565b915050613f2b565b60405191506040820160405280825282602083015250919050565b613f9c3330836117fc565b80613fdb57506000613fac6123f4565b6001600160a01b0316148015613fdb57506000828152600c60205260409020600201546001600160a01b031633145b61276e5760405162461bcd60e51b815260206004820152603860248201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736044820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b6064820152608401610d1d565b600880546001600160a01b0383166001600160a01b031991821681179092556009805460018101825560009182527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490921690921790556040517072616e646f6d697a65724164647265737360781b9160008051602061544483398151915291a250565b336140d86123f4565b6001600160a01b0316146112f45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d1d565b6141366140cf565b6112f46000614456565b6060813b6068811080614151575080155b1561419e5760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f720000006044820152606401610d1d565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b816001600160a01b0316836001600160a01b0316036142285760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610d1d565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008030836040516020016142ab92919061529b565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661431d5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610d1d565b50919050565b61432e848484613d08565b61433a84848484614640565b6111a95760405162461bcd60e51b8152600401610d1d9061536c565b60608160000361437d5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156143a7578061439181614fae565b91506143a09050600a83614fdd565b9150614381565b6000816001600160401b038111156143c1576143c16148cd565b6040519080825280601f01601f1916602001820160405280156143eb576020820181803683370190505b5090505b84156118a0576144006001836150d8565b915061440d600a866153be565b61441890603061510e565b60f81b81838151811061442d5761442d614f82565b60200101906001600160f81b031916908160001a90535061444f600a86614fdd565b94506143ef565b61445f816135bf565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060006144908360026150c1565b61449b90600261510e565b6001600160401b038111156144b2576144b26148cd565b6040519080825280601f01601f1916602001820160405280156144dc576020820181803683370190505b509050600360fc1b816000815181106144f7576144f7614f82565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061452657614526614f82565b60200101906001600160f81b031916908160001a905350600061454a8460026150c1565b61455590600161510e565b90505b60018111156145cd576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061458957614589614f82565b1a60f81b82828151811061459f5761459f614f82565b60200101906001600160f81b031916908160001a90535060049490941c936145c6816153d2565b9050614558565b50831561461c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d1d565b9392505050565b6000908152600260205260409020546001600160a01b0316151590565b60006001600160a01b0384163b1561473657604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906146849033908990889088906004016153e9565b6020604051808303816000875af19250505080156146bf575060408051601f3d908101601f191682019092526146bc91810190615426565b60015b61471c573d8080156146ed576040519150601f19603f3d011682016040523d82523d6000602084013e6146f2565b606091505b5080516000036147145760405162461bcd60e51b8152600401610d1d9061536c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118a0565b506001949350505050565b6000806040838503121561475457600080fd5b50508035926020909101359150565b6001600160a01b03811681146117f957600080fd5b60008060006060848603121561478d57600080fd5b833561479881614763565b92506020840135915060408401356147af81614763565b809150509250925092565b600080604083850312156147cd57600080fd5b82359150602083013562ffffff811681146147e757600080fd5b809150509250929050565b6001600160e01b0319811681146117f957600080fd5b60006020828403121561481a57600080fd5b813561461c816147f2565b60005b83811015614840578181015183820152602001614828565b50506000910152565b60008151808452614861816020860160208601614825565b601f01601f19169290920160200192915050565b60208152600061461c6020830184614849565b60006020828403121561489a57600080fd5b5035919050565b600080604083850312156148b457600080fd5b82356148bf81614763565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156148fd576148fd6148cd565b604051601f8501601f19908116603f01168101908282118183101715614925576149256148cd565b8160405280935085815286868601111561493e57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261496957600080fd5b61461c838335602085016148e3565b6000806040838503121561498b57600080fd5b8235915060208301356001600160401b038111156149a857600080fd5b6149b485828601614958565b9150509250929050565b600080600080608085870312156149d457600080fd5b84356149df81614763565b935060208501356149ef81614763565b925060408501356149ff81614763565b91506060850135614a0f81614763565b939692955090935050565b600060208284031215614a2c57600080fd5b81356001600160401b03811115614a4257600080fd5b6118a084828501614958565b600080600060608486031215614a6357600080fd5b8335614a6e81614763565b92506020840135614a7e81614763565b915060408401356147af816147f2565b600080600060608486031215614aa357600080fd5b8335614aae81614763565b92506020840135614abe81614763565b929592945050506040919091013590565b600060208284031215614ae157600080fd5b813561461c81614763565b60008060008060008060c08789031215614b0557600080fd5b863595506020870135614b1781614763565b94506040870135614b2781614763565b9350606087013592506080870135614b3e81614763565b8092505060a087013590509295509295509295565b60008060408385031215614b6657600080fd5b8235915060208301356147e781614763565b60a081526000614b8b60a0830188614849565b8281036020840152614b9d8188614849565b90508281036040840152614bb18187614849565b90508281036060840152614bc58186614849565b90508281036080840152614bd98185614849565b98975050505050505050565b6001600160a01b031991909116815260200190565b80151581146117f957600080fd5b60008060408385031215614c1b57600080fd5b8235614c2681614763565b915060208301356147e781614bfa565b600080600060608486031215614c4b57600080fd5b833592506020840135915060408401356001600160401b03811115614c6f57600080fd5b614c7b86828701614958565b9150509250925092565b60008060008060808587031215614c9b57600080fd5b8435614ca681614763565b93506020850135614cb681614763565b92506040850135915060608501356001600160401b03811115614cd857600080fd5b8501601f81018713614ce957600080fd5b614cf8878235602084016148e3565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b82811015614d465781516001600160a01b031684529284019290840190600101614d21565b5050508381038285015284518082528583019183019060005b81811015614d7b57835183529284019291840191600101614d5f565b5090979650505050505050565b60008060408385031215614d9b57600080fd5b82356001600160401b03811115614db157600080fd5b614dbd85828601614958565b92505060208301356147e781614763565b60008060408385031215614de157600080fd5b8235614dec81614763565b915060208301356147e781614763565b606081526000614e0f6060830186614849565b8281036020840152614e218186614849565b915050826040830152949350505050565b600181811c90821680614e4657607f821691505b60208210810361431d57634e487b7160e01b600052602260045260246000fd5b601f8211156114bf57600081815260208120601f850160051c81016020861015614e8d5750805b601f850160051c820191505b81811015614eac57828155600101614e99565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115614ee257614ee26148cd565b614ef681614ef08454614e32565b84614e66565b602080601f831160018114614f255760008415614f135750858301515b614f1d8582614eb4565b865550614eac565b600085815260208120601f198616915b82811015614f5457888601518255948401946001909101908401614f35565b5085821015614f725787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201614fc057614fc0614f98565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082614fec57614fec614fc7565b500490565b60006020828403121561500357600080fd5b815161461c81614bfa565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b808202811582820484141761128857611288614f98565b8181038181111561128857611288614f98565b62ffffff81811683821601908082111561510757615107614f98565b5092915050565b8082018082111561128857611288614f98565b60008151615133818560208601614825565b9290920192915050565b6000835161514f818460208801614825565b835190830190615163818360208801614825565b01949350505050565b818103615177575050565b6151818254614e32565b6001600160401b03811115615198576151986148cd565b6151a681614ef08454614e32565b6000601f8211600181146151d457600083156151c25750848201545b6151cc8482614eb4565b855550615239565b600085815260209020601f19841690600086815260209020845b8381101561520e57828601548255600195860195909101906020016151ee565b508583101561522c5781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b6001600160f81b0381811683821601908082111561510757615107614f98565b62ffffff82811682821603908082111561510757615107614f98565b600060ff821660ff810361529257615292614f98565b60010192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526153406053830160008152600c0190565b615356818660601b6001600160601b0319169052565b6153636014820185615121565b95945050505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826153cd576153cd614fc7565b500690565b6000816153e1576153e1614f98565b506000190190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061541c90830184614849565b9695505050505050565b60006020828403121561543857600080fd5b815161461c816147f256fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca2646970667358221220911b79032c85bacd9fa21c2a6b3ea2a166a39ac289c340d8ea56175af7a77e3264736f6c634300081100338b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009",
1939
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104145760003560e01c8063715018a611610223578063b75395e01161012c578063b75395e014610a4d578063b7b04fae14610a60578063b88d4fde14610a73578063b971136814610a86578063bb3bafd614610a8e578063bd3d10e714610aaf578063c34a03b514610ac2578063c6c7c5bf14610ad5578063c87b56dd14610ae8578063cc90e72514610afb578063d03c390c14610b0e578063db21a84614610b21578063db2ff86114610b34578063e6032df214610b47578063e935b7b114610b6e578063e985e9c514610b7f578063eb9cd5d414610b92578063ed8abfda14610bb4578063f2fde38b14610bde578063f313d73314610bf1578063f851a44014610c87578063f893c07b14610c8f57600080fd5b8063715018a61461081757806376ee6fab1461081f5780638639415b146108325780638c3c9cdd1461088d5780638da5cb5b146108a05780638dd91a56146108a857806392f00233146108cc57806395d89b41146108df5780639a02e4fa146108e7578063a11ec70a1461091e578063a22cb46514610931578063a3b2cca614610944578063a47d29cb14610957578063abcbb7b414610983578063ac11fa1c1461098b578063acad0124146109ab578063acd4c66f146109be578063ad0305ce146109d0578063ad2cdfc4146109f2578063ae45ad9814610a1f578063b1656ba314610a27578063b168762214610a3a57600080fd5b806328ec8f501161032557806328ec8f501461063c5780632b274166146106695780632b65e67d1461067c5780632b8258c51461068f5780632d9c02051461069857806330ef4c5f146106ab57806336c7c12c146106bd57806337859963146106d057806338c8e468146106e35780633bb225531461070f5780633e48e8481461071857806341814cd31461072b57806342842e0e1461073e57806348337282146107515780634e1d64af146107645780635508fd521461076c57806358b9a5a914610780578063621a1f74146107b85780636352211e146107cb57806369d14faf146107de5780636c907b7f146107f157806370a082311461080457600080fd5b80611e3c146104195780615de51461042e5780630132c6971461045457806301856fd41461046757806301ffc9a71461047a57806304143a5c1461049d57806306fdde03146104a5578063081812fc146104ba578063095ea7b3146104e55780630d170673146104f85780630e79c9281461050b5780630ea5613f1461051e5780630ebeb0ee1461056857806317df5366146105915780631ab6014c146105a45780631b689c0b146105b75780631c05cad7146105ca5780631e9bef46146105dd5780632302cbda146105f0578063230448b11461060357806323b872dd1461061657806325b75d6814610629575b600080fd5b61042c610427366004614741565b610cb6565b005b61044161043c366004614778565b610de5565b6040519081526020015b60405180910390f35b61042c6104623660046147ba565b611089565b61042c610475366004614741565b6111af565b61048d610488366004614808565b611263565b604051901515815260200161044b565b61042c61128e565b6104ad6112f6565b60405161044b9190614875565b6104cd6104c8366004614888565b611388565b6040516001600160a01b03909116815260200161044b565b61042c6104f33660046148a1565b6113af565b61042c610506366004614978565b6114c4565b61042c610519366004614978565b611529565b61053161052c366004614888565b611725565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161044b565b6104cd610576366004614888565b6000908152600c60205260409020546001600160a01b031690565b6007546104cd906001600160a01b031681565b600f546104cd906001600160a01b031681565b6104416105c5366004614888565b611788565b61042c6105d83660046149be565b611797565b600a546104cd906001600160a01b031681565b61042c6105fe366004614a1a565b6117d7565b61048d610611366004614a4e565b6117fc565b61042c610624366004614a8e565b6118a8565b61042c610637366004614978565b6118d9565b61044161064a366004614888565b6000908152600c6020526040902060010154600160a01b900460ff1690565b61042c610677366004614acf565b611941565b61042c61068a366004614aec565b6119ad565b61044160135481565b6104ad6106a6366004614888565b611d13565b600f54600160a01b900460ff16610441565b6008546104cd906001600160a01b031681565b61042c6106de366004614978565b611db8565b6104cd6106f1366004614888565b6000908152600c60205260409020600101546001600160a01b031690565b61044160115481565b61042c610726366004614978565b611e06565b6010546104cd906001600160a01b031681565b61042c61074c366004614a8e565b611e5d565b61042c61075f366004614acf565b611e78565b6104ad611edb565b60155461048d90600160f81b900460ff1681565b6104cd61078e366004614741565b6000918252600b60209081526040808420928452600990920190529020546001600160a01b031690565b6104416107c6366004614888565b611ef4565b6104cd6107d9366004614888565b611f56565b61042c6107ec366004614b53565b611f8b565b61042c6107ff366004614acf565b612004565b610441610812366004614acf565b612026565b61042c6120ac565b61042c61082d366004614aec565b6120c4565b610845610840366004614741565b61228c565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e08201526101000161044b565b6104ad61089b366004614741565b612395565b6104cd6123f4565b6108bb6108b6366004614888565b612408565b60405161044b959493929190614b78565b6014546104cd906001600160a01b031681565b6104ad6126fc565b6109116108f5366004614888565b600090815260026020526040902054600160a01b900460a01b90565b60405161044b9190614be5565b61042c61092c366004614888565b61270b565b61042c61093f366004614c08565b612763565b61042c610952366004614978565b612772565b6104cd610965366004614888565b6000908152600c60205260409020600201546001600160a01b031690565b6104ad61285e565b610441610999366004614888565b600d6020526000908152604090205481565b61042c6109b9366004614978565b6128ec565b600e54600160a01b900460ff16610441565b61048d6109de366004614acf565b6014546001600160a01b0390811691161490565b610441610a00366004614888565b6000908152600c6020526040902060020154600160a01b900460ff1690565b6104ad6129bf565b61042c610a35366004614c36565b6129e3565b6104cd610a48366004614888565b612ac8565b600e546104cd906001600160a01b031681565b61042c610a6e366004614978565b612b40565b61042c610a81366004614c85565b612bab565b600954610441565b610aa1610a9c366004614888565b612bdd565b60405161044b929190614d04565b61042c610abd366004614741565b612e71565b61042c610ad0366004614741565b612f3d565b6012546104cd906001600160a01b031681565b6104ad610af6366004614888565b612fde565b61042c610b09366004614d88565b6130c6565b61042c610b1c366004614888565b61321b565b61042c610b2f366004614741565b613283565b61042c610b42366004614888565b613322565b61048d7f000000000000000000000000000000000000000000000000000000000000000081565b6015546001600160f81b0316610441565b61048d610b8d366004614dce565b61342f565b610ba5610ba0366004614888565b61345d565b60405161044b93929190614dfc565b610441610bc2366004614888565b6000908152600c6020526040902054600160a01b900460ff1690565b61042c610bec366004614acf565b613529565b610c49610bff366004614888565b6000908152600c60205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c00161044b565b6104cd61359f565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b610cbf82613611565b60008281526002602052604090206008546001600160a01b03163314610d265760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b60448201526064015b60405180910390fd5b8054600160a01b900460a01b6001600160a01b03191615610d825760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610d1d565b81610dc35760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610d1d565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b6014546000906001600160a01b03163314610e425760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610d1d565b6000838152600b60205260409020805462ffffff808216916001830191630100000090910416808310610eb75760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610d1d565b8354600160881b900460ff1680610eea57506000878152600c60205260409020600201546001600160a01b038781169116145b610f365760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610d1d565b8354600160901b900460ff161580610f6a57506000878152600c60205260409020600201546001600160a01b038781169116145b610fae5760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610d1d565b835462ffffff191662ffffff8381169182178655848116620f42408a0201919083169003610fdf57610fdf88613660565b610fe989826136b8565b600854604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a398975050505050505050565b611092826137ea565b6000828152600b60205260409020805462ffffff80821691630100000090048116908416106111025760405162461bcd60e51b815260206004820152601c60248201527b4f6e6c79206d6178496e766f636174696f6e7320646563726561736560201b6044820152606401610d1d565b808362ffffff16101561114e5760405162461bcd60e51b81526020600482015260146024820152734f6e6c792067746520696e766f636174696f6e7360601b6044820152606401610d1d565b815465ffffff0000001916630100000062ffffff8516021782556040516d6d6178496e766f636174696f6e7360901b90859060008051602061546483398151915290600090a3808362ffffff16036111a9576111a984613660565b50505050565b6111b882613841565b6111c88262615bf560e21b613889565b6000828152600b602052604090819020906111e69083906001613903565b61122f5760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610d1d565b60078101829055604051697363726970745479706560b01b90849060008051602061546483398151915290600090a3505050565b60006001600160e01b03198216635d9dd7eb60e11b1480611288575061128882613976565b92915050565b61129e6301050e9760e21b6139c6565b601554600160f81b900460ff16156112ec5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610d1d565b6112f4613a16565b565b60606000805461130590614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461133190614e32565b801561137e5780601f106113535761010080835404028352916020019161137e565b820191906000526020600020905b81548152906001019060200180831161136157829003601f168201915b5050505050905090565b600061139382613a6e565b506000908152600460205260409020546001600160a01b031690565b60006113ba82611f56565b9050806001600160a01b0316836001600160a01b0316036114275760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610d1d565b336001600160a01b03821614806114435750611443813361342f565b6114b55760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610d1d565b6114bf8383613a93565b505050565b6114cd82613841565b6114de82630d17067360e01b613889565b6114e781613b01565b6000828152600b602052604090206001016115028282614ec9565b50604051636e616d6560e01b90839060008051602061546483398151915290600090a35050565b61153282613841565b611543826301cf392560e31b613889565b61154c81613b01565b80518190600b8111156115a05760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610d1d565b60008060005b8381101561168c5760008582815181106115c2576115c2614f82565b01602001516001600160f81b0319169050600360fc1b81108015906115f55750603960f81b6001600160f81b0319821611155b1561160457600192505061167a565b6001600160f81b03198116601760f91b03611628578361162857600193505061167a565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610d1d565b8061168481614fae565b9150506115a6565b50806116d85760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610d1d565b6000868152600b602052604090206008016116f38682614ec9565b506040516a617370656374526174696f60a81b90879060008051602061546483398151915290600090a3505050505050565b6000818152600b60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161177b88613b50565b1591505091939550919395565b6000611288620f424083614fdd565b6117a7631c05cad760e01b6139c6565b6117b084613b9a565b6117b983613b9a565b6117c282613b9a565b6117cb81613b9a565b6111a984848484613bee565b6117e763118165ed60e11b6139c6565b6117f081613b01565b6117f981613c70565b50565b6000806118076123f4565b6001600160a01b0316141580156118a05750600a546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561187c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a09190614ff1565b949350505050565b6118b23382613caa565b6118ce5760405162461bcd60e51b8152600401610d1d9061500e565b6114bf838383613d08565b6118e282613841565b6118f3826304b6ebad60e31b613889565b6118fc81613b01565b6000828152600b602052604090206005016119178282614ec9565b50604051666c6963656e736560c81b90839060008051602061546483398151915290600090a35050565b611951631593a0b360e11b6139c6565b61195a81613b9a565b600780546001600160a01b0319166001600160a01b03831617905560405178646570656e64656e637952656769737472794164647265737360381b9060008051602061544483398151915290600090a250565b6119b686613ea4565b6119bf866137ea565b6119c885613b9a565b6000868152600c60205260409020606484118015906119e8575060648211155b611a225760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610d1d565b831580611a3757506001600160a01b03851615155b611a835760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610d1d565b811580611a9857506001600160a01b03831615155b611ae45760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610d1d565b867f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8787878787604051611b1c95949392919061505c565b60405180910390a27f000000000000000000000000000000000000000000000000000000000000000080611bc257600282015482546001600160a01b03918216898316149160009181169089161480611b7c57506001600160a01b038816155b60018501549091506000906001600160a01b0388811691161480611ba757506001600160a01b038716155b9050828015611bb35750815b8015611bbc5750805b93505050505b8015611cca576000801b600d60008a815260200190815260200160002081905550868260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848260020160146101000a81548160ff021916908360ff160217905550838260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828260010160146101000a81548160ff021916908360ff160217905550877fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a2611d09565b8686868686604051602001611ce395949392919061505c565b60408051601f19818403018152918152815160209283012060008b8152600d9093529120555b5050505050505050565b6000818152600b60205260409020600601805460609190611d3390614e32565b80601f0160208091040260200160405190810160405280929190818152602001828054611d5f90614e32565b8015611dac5780601f10611d8157610100808354040283529160200191611dac565b820191906000526020600020905b815481529060010190602001808311611d8f57829003601f168201915b50505050509050919050565b611dc1826137ea565b6000828152600b60205260409020600401611ddc8282614ec9565b50604051667765627369746560c81b90839060008051602061546483398151915290600090a35050565b611e0f826137ea565b611e1881613b01565b6000828152600b60205260409020600601611e338282614ec9565b50604051666261736555524960c81b90839060008051602061546483398151915290600090a35050565b6114bf83838360405180602001604052806000815250612bab565b611e88632419b94160e11b6139c6565b611e9181613b9a565b601480546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b6060611eef653b199718971960d11b613f26565b905090565b600081815260026020526040812054600160a01b900460a01b6001600160a01b031981168203611f275750600092915050565b80604051602001611f389190614be5565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b0316806112885760405162461bcd60e51b8152600401610d1d9061508f565b611f9482613ea4565b611fa5826369d14faf60e01b613f91565b611fae81613b9a565b6000828152600c602052604080822060020180546001600160a01b0319166001600160a01b038516179055516c6172746973744164647265737360981b9184916000805160206154648339815191529190a35050565b612014636c907b7f60e01b6139c6565b61201d81613b9a565b6117f981614048565b60006001600160a01b0382166120905760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610d1d565b506001600160a01b031660009081526003602052604090205490565b6120b46140cf565b6120bc613a16565b6112f461412e565b6120cd86613ea4565b6120de866376ee6fab60e01b613f91565b6120e785613b9a565b848484848460405160200161210095949392919061505c565b60408051601f1981840301815291815281516020928301206000898152600d9093529120541461216f5760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610d1d565b6000600c60008881526020019081526020016000209050858160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838160020160146101000a81548160ff021916908360ff160217905550828160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818160010160146101000a81548160ff021916908360ff1602179055506000801b600d600089815260200190815260200160002081905550867fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a250505050505050565b6000828152600c60205260408120600e548291829182918291829182918291908a906064906122c590600160a01b900460ff16836150c1565b6122cf9190614fdd565b99506122db8a826150d8565b600f549091506064906122f890600160a01b900460ff168d6150c1565b6123029190614fdd565b975061230e88826150d8565b600283015490915060649061232d90600160a01b900460ff16836150c1565b6123379190614fdd565b935061234384826150d8565b600e54600f546001600160a01b039182169b50169750955085156123725760028201546001600160a01b031694505b83156123865781546001600160a01b031692505b50509295985092959890939650565b6000828152600b60205260409020805460609190600160301b900462ffffff1683106123d1575050604080516020810190915260008152611288565b60008381526009820160205260409020546118a0906001600160a01b0316614140565b6000611eef6006546001600160a01b031690565b60608060608060606000600b6000888152602001908152602001600020905080600101805461243690614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461246290614e32565b80156124af5780601f10612484576101008083540402835291602001916124af565b820191906000526020600020905b81548152906001019060200180831161249257829003601f168201915b505050505095508060020180546124c590614e32565b80601f01602080910402602001604051908101604052809291908181526020018280546124f190614e32565b801561253e5780601f106125135761010080835404028352916020019161253e565b820191906000526020600020905b81548152906001019060200180831161252157829003601f168201915b5050505050945080600301805461255490614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461258090614e32565b80156125cd5780601f106125a2576101008083540402835291602001916125cd565b820191906000526020600020905b8154815290600101906020018083116125b057829003601f168201915b505050505093508060040180546125e390614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461260f90614e32565b801561265c5780601f106126315761010080835404028352916020019161265c565b820191906000526020600020905b81548152906001019060200180831161263f57829003601f168201915b5050505050925080600501805461267290614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461269e90614e32565b80156126eb5780601f106126c0576101008083540402835291602001916126eb565b820191906000526020600020905b8154815290600101906020018083116126ce57829003601f168201915b505050505091505091939590929450565b60606001805461130590614e32565b612714816137ea565b6000818152600b6020526040808220805460ff60901b198116600160901b9182900460ff161590910217905551651c185d5cd95960d21b9183916000805160206154648339815191529190a350565b61276e3383836141cb565b5050565b61277b82613b50565b6127965761279133306351d9665360e11b6117fc565b6127b4565b6000828152600c60205260409020600201546001600160a01b031633145b6128155760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610d1d565b6000828152600b602052604090206003016128308282614ec9565b506040516a3232b9b1b934b83a34b7b760a91b90839060008051602061546483398151915290600090a35050565b6016805461286b90614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461289790614e32565b80156128e45780601f106128b9576101008083540402835291602001916128e4565b820191906000526020600020905b8154815290600101906020018083116128c757829003601f168201915b505050505081565b6128f582613841565b61290682632b2b404960e21b613889565b61290f81613b01565b6000828152600b6020526040902061292682614295565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612978929190041660016150eb565b815462ffffff91909116600160301b0262ffffff60301b19909116178155604051651cd8dc9a5c1d60d21b90849060008051602061546483398151915290600090a3505050565b6060611eef7547656e417274373231436f726556335f456e67696e6560501b613f26565b6129ec83613841565b6129fd8363b1656ba360e01b613889565b612a0681613b01565b6000838152600b602052604090208054600160301b900462ffffff168310612a685760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610d1d565b612a7182614295565b600084815260098301602052604080822080546001600160a01b0319166001600160a01b0394909416939093179092559051651cd8dc9a5c1d60d21b9186916000805160206154648339815191529190a350505050565b6009546000908210612b125760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610d1d565b60098281548110612b2557612b25614f82565b6000918252602090912001546001600160a01b031692915050565b612b4982613841565b612b5a82635bd827d760e11b613889565b612b6381613b01565b6000828152600b60205260409020600201612b7e8282614ec9565b50604051696172746973744e616d6560b01b90839060008051602061546483398151915290600090a35050565b612bb53383613caa565b612bd15760405162461bcd60e51b8152600401610d1d9061500e565b6111a984848484614323565b606080612be983613611565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a082019092529294509050602082016080803683370190505090506000612c3684611788565b6000818152600c6020526040812080546001820154939450909260ff600160a01b9283900481169392909104169082612c708360646150d8565b612c7a91906150c1565b90506000612c8884846150c1565b6011546013549192509060008415612d025760028801548b516001600160a01b03909116908c9083908110612cbf57612cbf614f82565b6001600160a01b0390921660209283029190910190910152848a82612ce381614fae565b935081518110612cf557612cf5614f82565b6020026020010181815250505b8315612d705760018801548b516001600160a01b03909116908c9083908110612d2d57612d2d614f82565b6001600160a01b0390921660209283029190910190910152838a82612d5181614fae565b935081518110612d6357612d63614f82565b6020026020010181815250505b8215612ddc576010548b516001600160a01b03909116908c9083908110612d9957612d99614f82565b6001600160a01b0390921660209283029190910190910152828a82612dbd81614fae565b935081518110612dcf57612dcf614f82565b6020026020010181815250505b8115612e48576012548b516001600160a01b03909116908c9083908110612e0557612e05614f82565b6001600160a01b0390921660209283029190910190910152818a82612e2981614fae565b935081518110612e3b57612e3b614f82565b6020026020010181815250505b8060041115612e635780600403808c51038c52808b51038b52505b505050505050505050915091565b612e8163bd3d10e760e01b6139c6565b6064612e8d828461510e565b1115612ed65760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610d1d565b600e805460ff808516600160a01b90810260ff60a01b1993841617909355600f805491851690930291161790556040517970726f76696465725072696d61727950657263656e746167657360301b9060008051602061544483398151915290600090a25050565b612f46826137ea565b605f811115612f8a5760405162461bcd60e51b815260206004820152601060248201526f13dd995c881b585e081c195c98d95b9d60821b6044820152606401610d1d565b6000828152600c6020526040808220805460ff60a01b1916600160a01b60ff8616021790555170726f79616c747950657263656e7461676560781b9184916000805160206154648339815191529190a35050565b6060612fe982613611565b6000600b6000612ff885611788565b8152602001908152602001600020600601805461301490614e32565b80601f016020809104026020016040519081016040528092919081815260200182805461304090614e32565b801561308d5780601f106130625761010080835404028352916020019161308d565b820191906000526020600020905b81548152906001019060200180831161307057829003601f168201915b505050505090508061309e84614356565b6040516020016130af92919061513d565b604051602081830303815290604052915050919050565b6130d663cc90e72560e01b6139c6565b6130df82613b01565b6130e881613b9a565b601554600160f81b900460ff161561313b5760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610d1d565b6015546001600160f81b03166000818152600c6020908152604080832060020180546001600160a01b0319166001600160a01b038716179055600b90915290206001016131888482614ec9565b506000818152600b60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b011781556006016131c560168261516c565b506131d1816001615240565b601580546001600160f81b0319166001600160f81b03929092169190911790556040516618dc99585d195960ca1b90829060008051602061546483398151915290600090a3505050565b61322b63340f0e4360e21b6139c6565b61323481613ea4565b6000818152600b6020526040808220805460ff60881b198116600160881b9182900460ff1615909102179055516561637469766560d01b9183916000805160206154648339815191529190a350565b613293636d90d42360e11b6139c6565b6127106132a0828461510e565b11156132e45760405162461bcd60e51b81526020600482015260136024820152724f766572206d61782073756d206f662042505360681b6044820152606401610d1d565b601182905560138190556040517370726f76696465725365636f6e6461727942505360601b9060008051602061544483398151915290600090a25050565b61332b81613841565b61333c8163db2ff86160e01b613889565b6000818152600b602052604090208054600160301b900462ffffff1661339b5760405162461bcd60e51b81526020600482015260146024820152734e6f207363726970747320746f2072656d6f766560601b6044820152606401610d1d565b805460098201906000906133bd90600190600160301b900462ffffff16615260565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b0319169055835462ffffff60301b198116600160301b918290048516600019019094160292909217835551651cd8dc9a5c1d60d21b9184916000805160206154648339815191529190a35050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600b6020526040812060078101546060928392909161348090613f26565b935080600801805461349190614e32565b80601f01602080910402602001604051908101604052809291908181526020018280546134bd90614e32565b801561350a5780601f106134df5761010080835404028352916020019161350a565b820191906000526020600020905b8154815290600101906020018083116134ed57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b6135316140cf565b6001600160a01b0381166135965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d1d565b6117f981614456565b6000611eef6123f4565b60606112886001600160a01b0383166014614481565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61361a81614623565b6117f95760405162461bcd60e51b8152602060048201526017602482015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b6044820152606401610d1d565b6000818152600b6020526040808220805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055516818dbdb5c1b195d195960ba1b9183916000805160206154648339815191529190a350565b6001600160a01b03821661370e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610d1d565b61371781614623565b156137635760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610d1d565b6001600160a01b038216600090815260036020526040812080546001929061378c90849061510e565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000818152600c60205260409020600201546001600160a01b031633146117f95760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48185c9d1a5cdd60aa1b6044820152606401610d1d565b61384a81613b50565b6117f95760405162461bcd60e51b815260206004820152601060248201526f13db9b1e481a59881d5b9b1bd8dad95960821b6044820152606401610d1d565b6000828152600c60205260409020600201546001600160a01b03163314806138b757506138b73330836117fc565b61276e5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f7765646044820152606401610d1d565b600080805b60208160ff161015613962576000868260ff166020811061392b5761392b614f82565b1a90508015801590613940575060808160ff16105b15613959578560ff168160ff1603613959578260010192505b50600101613908565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b14806139a757506001600160e01b03198216635b5e139f60e01b145b8061128857506301ffc9a760e01b6001600160e01b0319831614611288565b6139d13330836117fc565b6117f95760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b6044820152606401610d1d565b601554600160f81b900460ff166112f457601580546001600160f81b0316600160f81b179055604051733732bba83937b532b1ba39a337b93134b23232b760611b9060008051602061544483398151915290600090a2565b613a7781614623565b6117f95760405162461bcd60e51b8152600401610d1d9061508f565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190613ac882611f56565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b80516000036117f95760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b6044820152606401610d1d565b6000613b5b82613ea4565b6000828152600b6020526040902054600160481b90046001600160401b0316801580806118a057506224ea00613b9183426150d8565b10949350505050565b6001600160a01b0381166117f95760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b6044820152606401610d1d565b600f80546001600160a01b038085166001600160a01b03199283161790925560128054848416908316179055600e805487841690831617905560108054928616929091169190911790556040517570726f766964657253616c657341646472657373657360501b9060008051602061544483398151915290600090a250505050565b6016613c7c8282614ec9565b506040516d64656661756c744261736555524960901b9060008051602061544483398151915290600090a250565b600080613cb683611f56565b9050806001600160a01b0316846001600160a01b03161480613cdd5750613cdd818561342f565b806118a05750836001600160a01b0316613cf684611388565b6001600160a01b031614949350505050565b826001600160a01b0316613d1b82611f56565b6001600160a01b031614613d7f5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610d1d565b6001600160a01b038216613de15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610d1d565b613dec600082613a93565b6001600160a01b0383166000908152600360205260408120805460019290613e159084906150d8565b90915550506001600160a01b0382166000908152600360205260408120805460019290613e4390849061510e565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b7f00000000000000000000000000000000000000000000000000000000000000008110158015613ede57506015546001600160f81b031681105b6117f95760405162461bcd60e51b8152602060048201526019602482015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b6044820152606401610d1d565b606060005b828160ff1660208110613f4057613f40614f82565b1a60f81b6001600160f81b03191615801590613f5f575060208160ff16105b15613f765780613f6e8161527c565b915050613f2b565b60405191506040820160405280825282602083015250919050565b613f9c3330836117fc565b80613fdb57506000613fac6123f4565b6001600160a01b0316148015613fdb57506000828152600c60205260409020600201546001600160a01b031633145b61276e5760405162461bcd60e51b815260206004820152603860248201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736044820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b6064820152608401610d1d565b600880546001600160a01b0383166001600160a01b031991821681179092556009805460018101825560009182527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490921690921790556040517072616e646f6d697a65724164647265737360781b9160008051602061544483398151915291a250565b336140d86123f4565b6001600160a01b0316146112f45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d1d565b6141366140cf565b6112f46000614456565b6060813b6068811080614151575080155b1561419e5760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f720000006044820152606401610d1d565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b816001600160a01b0316836001600160a01b0316036142285760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610d1d565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008030836040516020016142ab92919061529b565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661431d5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610d1d565b50919050565b61432e848484613d08565b61433a84848484614640565b6111a95760405162461bcd60e51b8152600401610d1d9061536c565b60608160000361437d5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156143a7578061439181614fae565b91506143a09050600a83614fdd565b9150614381565b6000816001600160401b038111156143c1576143c16148cd565b6040519080825280601f01601f1916602001820160405280156143eb576020820181803683370190505b5090505b84156118a0576144006001836150d8565b915061440d600a866153be565b61441890603061510e565b60f81b81838151811061442d5761442d614f82565b60200101906001600160f81b031916908160001a90535061444f600a86614fdd565b94506143ef565b61445f816135bf565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060006144908360026150c1565b61449b90600261510e565b6001600160401b038111156144b2576144b26148cd565b6040519080825280601f01601f1916602001820160405280156144dc576020820181803683370190505b509050600360fc1b816000815181106144f7576144f7614f82565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061452657614526614f82565b60200101906001600160f81b031916908160001a905350600061454a8460026150c1565b61455590600161510e565b90505b60018111156145cd576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061458957614589614f82565b1a60f81b82828151811061459f5761459f614f82565b60200101906001600160f81b031916908160001a90535060049490941c936145c6816153d2565b9050614558565b50831561461c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d1d565b9392505050565b6000908152600260205260409020546001600160a01b0316151590565b60006001600160a01b0384163b1561473657604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906146849033908990889088906004016153e9565b6020604051808303816000875af19250505080156146bf575060408051601f3d908101601f191682019092526146bc91810190615426565b60015b61471c573d8080156146ed576040519150601f19603f3d011682016040523d82523d6000602084013e6146f2565b606091505b5080516000036147145760405162461bcd60e51b8152600401610d1d9061536c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118a0565b506001949350505050565b6000806040838503121561475457600080fd5b50508035926020909101359150565b6001600160a01b03811681146117f957600080fd5b60008060006060848603121561478d57600080fd5b833561479881614763565b92506020840135915060408401356147af81614763565b809150509250925092565b600080604083850312156147cd57600080fd5b82359150602083013562ffffff811681146147e757600080fd5b809150509250929050565b6001600160e01b0319811681146117f957600080fd5b60006020828403121561481a57600080fd5b813561461c816147f2565b60005b83811015614840578181015183820152602001614828565b50506000910152565b60008151808452614861816020860160208601614825565b601f01601f19169290920160200192915050565b60208152600061461c6020830184614849565b60006020828403121561489a57600080fd5b5035919050565b600080604083850312156148b457600080fd5b82356148bf81614763565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156148fd576148fd6148cd565b604051601f8501601f19908116603f01168101908282118183101715614925576149256148cd565b8160405280935085815286868601111561493e57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261496957600080fd5b61461c838335602085016148e3565b6000806040838503121561498b57600080fd5b8235915060208301356001600160401b038111156149a857600080fd5b6149b485828601614958565b9150509250929050565b600080600080608085870312156149d457600080fd5b84356149df81614763565b935060208501356149ef81614763565b925060408501356149ff81614763565b91506060850135614a0f81614763565b939692955090935050565b600060208284031215614a2c57600080fd5b81356001600160401b03811115614a4257600080fd5b6118a084828501614958565b600080600060608486031215614a6357600080fd5b8335614a6e81614763565b92506020840135614a7e81614763565b915060408401356147af816147f2565b600080600060608486031215614aa357600080fd5b8335614aae81614763565b92506020840135614abe81614763565b929592945050506040919091013590565b600060208284031215614ae157600080fd5b813561461c81614763565b60008060008060008060c08789031215614b0557600080fd5b863595506020870135614b1781614763565b94506040870135614b2781614763565b9350606087013592506080870135614b3e81614763565b8092505060a087013590509295509295509295565b60008060408385031215614b6657600080fd5b8235915060208301356147e781614763565b60a081526000614b8b60a0830188614849565b8281036020840152614b9d8188614849565b90508281036040840152614bb18187614849565b90508281036060840152614bc58186614849565b90508281036080840152614bd98185614849565b98975050505050505050565b6001600160a01b031991909116815260200190565b80151581146117f957600080fd5b60008060408385031215614c1b57600080fd5b8235614c2681614763565b915060208301356147e781614bfa565b600080600060608486031215614c4b57600080fd5b833592506020840135915060408401356001600160401b03811115614c6f57600080fd5b614c7b86828701614958565b9150509250925092565b60008060008060808587031215614c9b57600080fd5b8435614ca681614763565b93506020850135614cb681614763565b92506040850135915060608501356001600160401b03811115614cd857600080fd5b8501601f81018713614ce957600080fd5b614cf8878235602084016148e3565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b82811015614d465781516001600160a01b031684529284019290840190600101614d21565b5050508381038285015284518082528583019183019060005b81811015614d7b57835183529284019291840191600101614d5f565b5090979650505050505050565b60008060408385031215614d9b57600080fd5b82356001600160401b03811115614db157600080fd5b614dbd85828601614958565b92505060208301356147e781614763565b60008060408385031215614de157600080fd5b8235614dec81614763565b915060208301356147e781614763565b606081526000614e0f6060830186614849565b8281036020840152614e218186614849565b915050826040830152949350505050565b600181811c90821680614e4657607f821691505b60208210810361431d57634e487b7160e01b600052602260045260246000fd5b601f8211156114bf57600081815260208120601f850160051c81016020861015614e8d5750805b601f850160051c820191505b81811015614eac57828155600101614e99565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115614ee257614ee26148cd565b614ef681614ef08454614e32565b84614e66565b602080601f831160018114614f255760008415614f135750858301515b614f1d8582614eb4565b865550614eac565b600085815260208120601f198616915b82811015614f5457888601518255948401946001909101908401614f35565b5085821015614f725787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201614fc057614fc0614f98565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082614fec57614fec614fc7565b500490565b60006020828403121561500357600080fd5b815161461c81614bfa565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b808202811582820484141761128857611288614f98565b8181038181111561128857611288614f98565b62ffffff81811683821601908082111561510757615107614f98565b5092915050565b8082018082111561128857611288614f98565b60008151615133818560208601614825565b9290920192915050565b6000835161514f818460208801614825565b835190830190615163818360208801614825565b01949350505050565b818103615177575050565b6151818254614e32565b6001600160401b03811115615198576151986148cd565b6151a681614ef08454614e32565b6000601f8211600181146151d457600083156151c25750848201545b6151cc8482614eb4565b855550615239565b600085815260209020601f19841690600086815260209020845b8381101561520e57828601548255600195860195909101906020016151ee565b508583101561522c5781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b6001600160f81b0381811683821601908082111561510757615107614f98565b62ffffff82811682821603908082111561510757615107614f98565b600060ff821660ff810361529257615292614f98565b60010192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526153406053830160008152600c0190565b615356818660601b6001600160601b0319169052565b6153636014820185615121565b95945050505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826153cd576153cd614fc7565b500690565b6000816153e1576153e1614f98565b506000190190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061541c90830184614849565b9695505050505050565b60006020828403121561543857600080fd5b815161461c816147f256fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca2646970667358221220911b79032c85bacd9fa21c2a6b3ea2a166a39ac289c340d8ea56175af7a77e3264736f6c63430008110033",
1940
- "linkReferences": {},
1941
- "deployedLinkReferences": {}
1942
- }