@artblocks/contracts 1.1.0 → 1.2.0

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