@artblocks/contracts 1.0.4 → 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 (289) 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 +336 -131
  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/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1109 -0
  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 +565 -209
  41. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +785 -227
  42. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +40 -15
  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 +40 -15
  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/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  47. package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
  48. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
  49. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
  50. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +71 -39
  51. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
  52. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  53. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
  54. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
  63. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
  64. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +26 -101
  65. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
  66. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
  67. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
  68. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  69. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
  70. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
  71. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
  72. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
  73. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
  74. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
  75. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
  76. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
  77. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
  78. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
  79. package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
  80. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
  81. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  82. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  83. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  84. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  85. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  86. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  87. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  88. package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
  89. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
  90. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
  91. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
  92. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
  93. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
  94. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  95. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
  96. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  97. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
  98. package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
  99. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
  100. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
  101. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
  102. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  103. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
  104. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  105. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
  106. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
  107. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  108. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
  109. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
  110. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
  111. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
  112. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
  113. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
  114. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  115. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
  116. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
  117. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
  118. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
  119. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
  120. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
  121. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
  122. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +56 -722
  123. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
  124. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
  125. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
  126. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
  127. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
  128. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
  129. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
  130. package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
  131. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
  132. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  133. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  134. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
  135. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
  136. package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
  137. package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
  138. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
  139. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
  140. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  141. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  142. package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
  143. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  144. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  145. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  146. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  147. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  148. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  149. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  150. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  151. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
  152. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
  153. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  154. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  155. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
  156. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
  157. package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
  158. package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
  159. package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
  160. package/contracts/AdminACLV0.sol +6 -2
  161. package/contracts/AdminACLV1.sol +2 -2
  162. package/contracts/DependencyRegistryV0.sol +737 -390
  163. package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
  164. package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
  165. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
  166. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
  167. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  168. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
  169. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +9 -62
  170. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
  171. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
  172. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
  173. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
  174. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
  175. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
  176. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
  177. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
  178. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
  179. package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
  180. package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
  181. package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
  182. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +893 -493
  183. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1053 -655
  184. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +7 -13
  185. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +5 -11
  186. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
  187. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  188. package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
  189. package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
  190. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
  191. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +48 -43
  192. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
  193. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
  194. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
  195. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
  196. package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
  197. package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
  198. package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
  199. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
  200. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
  201. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
  202. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
  203. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
  204. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
  205. package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
  206. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
  207. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
  208. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +30 -20
  209. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
  210. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
  211. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
  212. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  213. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
  214. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
  215. package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
  216. package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
  217. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -67
  218. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
  219. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +18 -160
  220. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
  221. package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
  222. package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
  223. package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
  224. package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
  225. package/contracts/libs/v0.8.x/ABHelpers.sol +31 -17
  226. package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
  227. package/contracts/libs/v0.8.x/BitMap.sol +112 -0
  228. package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
  229. package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
  230. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
  231. package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
  232. package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
  233. package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
  234. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +162 -39
  235. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  236. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +139 -37
  237. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  238. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +299 -158
  239. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +268 -55
  240. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
  241. package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
  242. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +796 -123
  243. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +131 -13
  244. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +607 -224
  245. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +494 -330
  246. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +217 -78
  247. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +358 -309
  248. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
  249. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +396 -632
  250. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
  251. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
  252. package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
  253. package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
  254. package/contracts/minter-suite/Minters/MinterSEAV1.sol +329 -677
  255. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +287 -303
  256. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
  257. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
  258. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +552 -622
  259. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
  260. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
  261. package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
  262. package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
  263. package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
  264. package/contracts/mock/ForceSendMock.sol +22 -0
  265. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
  266. package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
  267. package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
  268. package/contracts/mock/MockAdminACLV0.sol +21 -0
  269. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
  270. package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
  271. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  272. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  273. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  274. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  275. package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
  276. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
  277. package/contracts/randomizer/shared/SharedRandomizerV0.sol +79 -71
  278. package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
  279. package/contracts/split/SplitAtomicV0.sol +265 -0
  280. package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
  281. package/package.json +79 -45
  282. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
  283. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
  284. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +0 -1127
  285. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
  286. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
  287. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
  288. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
  289. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
@@ -7,7 +7,7 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "_minterFilter",
10
+ "name": "minterFilter",
11
11
  "type": "address"
12
12
  }
13
13
  ],
@@ -15,431 +15,15 @@
15
15
  "type": "constructor"
16
16
  },
17
17
  {
18
- "anonymous": false,
19
18
  "inputs": [
20
19
  {
21
- "indexed": true,
22
20
  "internalType": "uint256",
23
- "name": "_projectId",
21
+ "name": "projectId",
24
22
  "type": "uint256"
25
23
  },
26
24
  {
27
- "indexed": true,
28
25
  "internalType": "address",
29
- "name": "_coreContract",
30
- "type": "address"
31
- },
32
- {
33
- "indexed": false,
34
- "internalType": "bytes32",
35
- "name": "_key",
36
- "type": "bytes32"
37
- }
38
- ],
39
- "name": "ConfigKeyRemoved",
40
- "type": "event"
41
- },
42
- {
43
- "anonymous": false,
44
- "inputs": [
45
- {
46
- "indexed": true,
47
- "internalType": "uint256",
48
- "name": "_projectId",
49
- "type": "uint256"
50
- },
51
- {
52
- "indexed": true,
53
- "internalType": "address",
54
- "name": "_coreContract",
55
- "type": "address"
56
- },
57
- {
58
- "indexed": false,
59
- "internalType": "bytes32",
60
- "name": "_key",
61
- "type": "bytes32"
62
- },
63
- {
64
- "indexed": false,
65
- "internalType": "uint256",
66
- "name": "_value",
67
- "type": "uint256"
68
- }
69
- ],
70
- "name": "ConfigValueAddedToSet",
71
- "type": "event"
72
- },
73
- {
74
- "anonymous": false,
75
- "inputs": [
76
- {
77
- "indexed": true,
78
- "internalType": "uint256",
79
- "name": "_projectId",
80
- "type": "uint256"
81
- },
82
- {
83
- "indexed": true,
84
- "internalType": "address",
85
- "name": "_coreContract",
86
- "type": "address"
87
- },
88
- {
89
- "indexed": false,
90
- "internalType": "bytes32",
91
- "name": "_key",
92
- "type": "bytes32"
93
- },
94
- {
95
- "indexed": false,
96
- "internalType": "address",
97
- "name": "_value",
98
- "type": "address"
99
- }
100
- ],
101
- "name": "ConfigValueAddedToSet",
102
- "type": "event"
103
- },
104
- {
105
- "anonymous": false,
106
- "inputs": [
107
- {
108
- "indexed": true,
109
- "internalType": "uint256",
110
- "name": "_projectId",
111
- "type": "uint256"
112
- },
113
- {
114
- "indexed": true,
115
- "internalType": "address",
116
- "name": "_coreContract",
117
- "type": "address"
118
- },
119
- {
120
- "indexed": false,
121
- "internalType": "bytes32",
122
- "name": "_key",
123
- "type": "bytes32"
124
- },
125
- {
126
- "indexed": false,
127
- "internalType": "bytes32",
128
- "name": "_value",
129
- "type": "bytes32"
130
- }
131
- ],
132
- "name": "ConfigValueAddedToSet",
133
- "type": "event"
134
- },
135
- {
136
- "anonymous": false,
137
- "inputs": [
138
- {
139
- "indexed": true,
140
- "internalType": "uint256",
141
- "name": "_projectId",
142
- "type": "uint256"
143
- },
144
- {
145
- "indexed": true,
146
- "internalType": "address",
147
- "name": "_coreContract",
148
- "type": "address"
149
- },
150
- {
151
- "indexed": false,
152
- "internalType": "bytes32",
153
- "name": "_key",
154
- "type": "bytes32"
155
- },
156
- {
157
- "indexed": false,
158
- "internalType": "uint256",
159
- "name": "_value",
160
- "type": "uint256"
161
- }
162
- ],
163
- "name": "ConfigValueRemovedFromSet",
164
- "type": "event"
165
- },
166
- {
167
- "anonymous": false,
168
- "inputs": [
169
- {
170
- "indexed": true,
171
- "internalType": "uint256",
172
- "name": "_projectId",
173
- "type": "uint256"
174
- },
175
- {
176
- "indexed": true,
177
- "internalType": "address",
178
- "name": "_coreContract",
179
- "type": "address"
180
- },
181
- {
182
- "indexed": false,
183
- "internalType": "bytes32",
184
- "name": "_key",
185
- "type": "bytes32"
186
- },
187
- {
188
- "indexed": false,
189
- "internalType": "address",
190
- "name": "_value",
191
- "type": "address"
192
- }
193
- ],
194
- "name": "ConfigValueRemovedFromSet",
195
- "type": "event"
196
- },
197
- {
198
- "anonymous": false,
199
- "inputs": [
200
- {
201
- "indexed": true,
202
- "internalType": "uint256",
203
- "name": "_projectId",
204
- "type": "uint256"
205
- },
206
- {
207
- "indexed": true,
208
- "internalType": "address",
209
- "name": "_coreContract",
210
- "type": "address"
211
- },
212
- {
213
- "indexed": false,
214
- "internalType": "bytes32",
215
- "name": "_key",
216
- "type": "bytes32"
217
- },
218
- {
219
- "indexed": false,
220
- "internalType": "bytes32",
221
- "name": "_value",
222
- "type": "bytes32"
223
- }
224
- ],
225
- "name": "ConfigValueRemovedFromSet",
226
- "type": "event"
227
- },
228
- {
229
- "anonymous": false,
230
- "inputs": [
231
- {
232
- "indexed": true,
233
- "internalType": "uint256",
234
- "name": "_projectId",
235
- "type": "uint256"
236
- },
237
- {
238
- "indexed": true,
239
- "internalType": "address",
240
- "name": "_coreContract",
241
- "type": "address"
242
- },
243
- {
244
- "indexed": false,
245
- "internalType": "bytes32",
246
- "name": "_key",
247
- "type": "bytes32"
248
- },
249
- {
250
- "indexed": false,
251
- "internalType": "bool",
252
- "name": "_value",
253
- "type": "bool"
254
- }
255
- ],
256
- "name": "ConfigValueSet",
257
- "type": "event"
258
- },
259
- {
260
- "anonymous": false,
261
- "inputs": [
262
- {
263
- "indexed": true,
264
- "internalType": "uint256",
265
- "name": "_projectId",
266
- "type": "uint256"
267
- },
268
- {
269
- "indexed": true,
270
- "internalType": "address",
271
- "name": "_coreContract",
272
- "type": "address"
273
- },
274
- {
275
- "indexed": false,
276
- "internalType": "bytes32",
277
- "name": "_key",
278
- "type": "bytes32"
279
- },
280
- {
281
- "indexed": false,
282
- "internalType": "uint256",
283
- "name": "_value",
284
- "type": "uint256"
285
- }
286
- ],
287
- "name": "ConfigValueSet",
288
- "type": "event"
289
- },
290
- {
291
- "anonymous": false,
292
- "inputs": [
293
- {
294
- "indexed": true,
295
- "internalType": "uint256",
296
- "name": "_projectId",
297
- "type": "uint256"
298
- },
299
- {
300
- "indexed": true,
301
- "internalType": "address",
302
- "name": "_coreContract",
303
- "type": "address"
304
- },
305
- {
306
- "indexed": false,
307
- "internalType": "bytes32",
308
- "name": "_key",
309
- "type": "bytes32"
310
- },
311
- {
312
- "indexed": false,
313
- "internalType": "address",
314
- "name": "_value",
315
- "type": "address"
316
- }
317
- ],
318
- "name": "ConfigValueSet",
319
- "type": "event"
320
- },
321
- {
322
- "anonymous": false,
323
- "inputs": [
324
- {
325
- "indexed": true,
326
- "internalType": "uint256",
327
- "name": "_projectId",
328
- "type": "uint256"
329
- },
330
- {
331
- "indexed": true,
332
- "internalType": "address",
333
- "name": "_coreContract",
334
- "type": "address"
335
- },
336
- {
337
- "indexed": false,
338
- "internalType": "bytes32",
339
- "name": "_key",
340
- "type": "bytes32"
341
- },
342
- {
343
- "indexed": false,
344
- "internalType": "bytes32",
345
- "name": "_value",
346
- "type": "bytes32"
347
- }
348
- ],
349
- "name": "ConfigValueSet",
350
- "type": "event"
351
- },
352
- {
353
- "anonymous": false,
354
- "inputs": [
355
- {
356
- "indexed": true,
357
- "internalType": "uint256",
358
- "name": "_projectId",
359
- "type": "uint256"
360
- },
361
- {
362
- "indexed": true,
363
- "internalType": "address",
364
- "name": "_coreContract",
365
- "type": "address"
366
- },
367
- {
368
- "indexed": true,
369
- "internalType": "uint256",
370
- "name": "_pricePerTokenInWei",
371
- "type": "uint256"
372
- }
373
- ],
374
- "name": "PricePerTokenInWeiUpdated",
375
- "type": "event"
376
- },
377
- {
378
- "anonymous": false,
379
- "inputs": [
380
- {
381
- "indexed": true,
382
- "internalType": "uint256",
383
- "name": "_projectId",
384
- "type": "uint256"
385
- },
386
- {
387
- "indexed": true,
388
- "internalType": "address",
389
- "name": "_coreContract",
390
- "type": "address"
391
- },
392
- {
393
- "indexed": true,
394
- "internalType": "address",
395
- "name": "_currencyAddress",
396
- "type": "address"
397
- },
398
- {
399
- "indexed": false,
400
- "internalType": "string",
401
- "name": "_currencySymbol",
402
- "type": "string"
403
- }
404
- ],
405
- "name": "ProjectCurrencyInfoUpdated",
406
- "type": "event"
407
- },
408
- {
409
- "anonymous": false,
410
- "inputs": [
411
- {
412
- "indexed": true,
413
- "internalType": "uint256",
414
- "name": "_projectId",
415
- "type": "uint256"
416
- },
417
- {
418
- "indexed": true,
419
- "internalType": "address",
420
- "name": "_coreContract",
421
- "type": "address"
422
- },
423
- {
424
- "indexed": false,
425
- "internalType": "uint256",
426
- "name": "_maxInvocations",
427
- "type": "uint256"
428
- }
429
- ],
430
- "name": "ProjectMaxInvocationsLimitUpdated",
431
- "type": "event"
432
- },
433
- {
434
- "inputs": [
435
- {
436
- "internalType": "uint256",
437
- "name": "_projectId",
438
- "type": "uint256"
439
- },
440
- {
441
- "internalType": "address",
442
- "name": "_coreContract",
26
+ "name": "coreContract",
443
27
  "type": "address"
444
28
  }
445
29
  ],
@@ -458,12 +42,12 @@
458
42
  "inputs": [
459
43
  {
460
44
  "internalType": "uint256",
461
- "name": "_projectId",
45
+ "name": "projectId",
462
46
  "type": "uint256"
463
47
  },
464
48
  {
465
49
  "internalType": "address",
466
- "name": "_coreContract",
50
+ "name": "coreContract",
467
51
  "type": "address"
468
52
  }
469
53
  ],
@@ -497,12 +81,12 @@
497
81
  "inputs": [
498
82
  {
499
83
  "internalType": "uint256",
500
- "name": "_projectId",
84
+ "name": "projectId",
501
85
  "type": "uint256"
502
86
  },
503
87
  {
504
88
  "internalType": "address",
505
- "name": "_coreContract",
89
+ "name": "coreContract",
506
90
  "type": "address"
507
91
  }
508
92
  ],
@@ -521,7 +105,7 @@
521
105
  "inputs": [
522
106
  {
523
107
  "internalType": "address",
524
- "name": "_coreContract",
108
+ "name": "coreContract",
525
109
  "type": "address"
526
110
  }
527
111
  ],
@@ -540,17 +124,17 @@
540
124
  "inputs": [
541
125
  {
542
126
  "internalType": "uint256",
543
- "name": "_projectId",
127
+ "name": "projectId",
544
128
  "type": "uint256"
545
129
  },
546
130
  {
547
131
  "internalType": "address",
548
- "name": "_coreContract",
132
+ "name": "coreContract",
549
133
  "type": "address"
550
134
  },
551
135
  {
552
136
  "internalType": "uint24",
553
- "name": "_maxInvocations",
137
+ "name": "maxInvocations",
554
138
  "type": "uint24"
555
139
  }
556
140
  ],
@@ -563,12 +147,12 @@
563
147
  "inputs": [
564
148
  {
565
149
  "internalType": "uint256",
566
- "name": "_projectId",
150
+ "name": "projectId",
567
151
  "type": "uint256"
568
152
  },
569
153
  {
570
154
  "internalType": "address",
571
- "name": "_coreContract",
155
+ "name": "coreContract",
572
156
  "type": "address"
573
157
  }
574
158
  ],
@@ -638,12 +222,12 @@
638
222
  "inputs": [
639
223
  {
640
224
  "internalType": "uint256",
641
- "name": "_projectId",
225
+ "name": "projectId",
642
226
  "type": "uint256"
643
227
  },
644
228
  {
645
229
  "internalType": "address",
646
- "name": "_coreContract",
230
+ "name": "coreContract",
647
231
  "type": "address"
648
232
  }
649
233
  ],
@@ -662,12 +246,12 @@
662
246
  "inputs": [
663
247
  {
664
248
  "internalType": "uint256",
665
- "name": "_projectId",
249
+ "name": "projectId",
666
250
  "type": "uint256"
667
251
  },
668
252
  {
669
253
  "internalType": "address",
670
- "name": "_coreContract",
254
+ "name": "coreContract",
671
255
  "type": "address"
672
256
  }
673
257
  ],
@@ -686,12 +270,22 @@
686
270
  "inputs": [
687
271
  {
688
272
  "internalType": "uint256",
689
- "name": "_projectId",
273
+ "name": "projectId",
274
+ "type": "uint256"
275
+ },
276
+ {
277
+ "internalType": "address",
278
+ "name": "coreContract",
279
+ "type": "address"
280
+ },
281
+ {
282
+ "internalType": "uint256",
283
+ "name": "maxPricePerToken",
690
284
  "type": "uint256"
691
285
  },
692
286
  {
693
287
  "internalType": "address",
694
- "name": "_coreContract",
288
+ "name": "currencyAddress",
695
289
  "type": "address"
696
290
  }
697
291
  ],
@@ -703,24 +297,34 @@
703
297
  "type": "uint256"
704
298
  }
705
299
  ],
706
- "stateMutability": "payable",
300
+ "stateMutability": "nonpayable",
707
301
  "type": "function"
708
302
  },
709
303
  {
710
304
  "inputs": [
711
305
  {
712
306
  "internalType": "address",
713
- "name": "_to",
307
+ "name": "to",
308
+ "type": "address"
309
+ },
310
+ {
311
+ "internalType": "uint256",
312
+ "name": "projectId",
313
+ "type": "uint256"
314
+ },
315
+ {
316
+ "internalType": "address",
317
+ "name": "coreContract",
714
318
  "type": "address"
715
319
  },
716
320
  {
717
321
  "internalType": "uint256",
718
- "name": "_projectId",
322
+ "name": "maxPricePerToken",
719
323
  "type": "uint256"
720
324
  },
721
325
  {
722
326
  "internalType": "address",
723
- "name": "_coreContract",
327
+ "name": "currencyAddress",
724
328
  "type": "address"
725
329
  }
726
330
  ],
@@ -732,19 +336,19 @@
732
336
  "type": "uint256"
733
337
  }
734
338
  ],
735
- "stateMutability": "payable",
339
+ "stateMutability": "nonpayable",
736
340
  "type": "function"
737
341
  },
738
342
  {
739
343
  "inputs": [
740
344
  {
741
345
  "internalType": "uint256",
742
- "name": "_projectId",
346
+ "name": "projectId",
743
347
  "type": "uint256"
744
348
  },
745
349
  {
746
350
  "internalType": "address",
747
- "name": "_coreContract",
351
+ "name": "coreContract",
748
352
  "type": "address"
749
353
  }
750
354
  ],
@@ -754,7 +358,7 @@
754
358
  "components": [
755
359
  {
756
360
  "internalType": "uint248",
757
- "name": "pricePerTokenInWei",
361
+ "name": "pricePerToken",
758
362
  "type": "uint248"
759
363
  },
760
364
  {
@@ -775,12 +379,12 @@
775
379
  "inputs": [
776
380
  {
777
381
  "internalType": "uint256",
778
- "name": "_projectId",
382
+ "name": "projectId",
779
383
  "type": "uint256"
780
384
  },
781
385
  {
782
386
  "internalType": "address",
783
- "name": "_coreContract",
387
+ "name": "coreContract",
784
388
  "type": "address"
785
389
  }
786
390
  ],
@@ -793,17 +397,17 @@
793
397
  "inputs": [
794
398
  {
795
399
  "internalType": "uint256",
796
- "name": "_projectId",
400
+ "name": "projectId",
797
401
  "type": "uint256"
798
402
  },
799
403
  {
800
404
  "internalType": "address",
801
- "name": "_coreContract",
405
+ "name": "coreContract",
802
406
  "type": "address"
803
407
  },
804
408
  {
805
409
  "internalType": "uint248",
806
- "name": "_pricePerTokenInWei",
410
+ "name": "pricePerTokenInWei",
807
411
  "type": "uint248"
808
412
  }
809
413
  ],
@@ -816,22 +420,22 @@
816
420
  "inputs": [
817
421
  {
818
422
  "internalType": "uint256",
819
- "name": "_projectId",
423
+ "name": "projectId",
820
424
  "type": "uint256"
821
425
  },
822
426
  {
823
427
  "internalType": "address",
824
- "name": "_coreContract",
428
+ "name": "coreContract",
825
429
  "type": "address"
826
430
  },
827
431
  {
828
432
  "internalType": "string",
829
- "name": "_currencySymbol",
433
+ "name": "currencySymbol",
830
434
  "type": "string"
831
435
  },
832
436
  {
833
437
  "internalType": "address",
834
- "name": "_currencyAddress",
438
+ "name": "currencyAddress",
835
439
  "type": "address"
836
440
  }
837
441
  ],
@@ -841,8 +445,8 @@
841
445
  "type": "function"
842
446
  }
843
447
  ],
844
- "bytecode": "0x60c060405234801561001057600080fd5b50604051620020c3380380620020c38339810160408190526100319161004c565b60016000556001600160a01b0316608081905260a05261007c565b60006020828403121561005e57600080fd5b81516001600160a01b038116811461007557600080fd5b9392505050565b60805160a051612021620000a260003960006105f3015260006103d901526120216000f3fe6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d8787146101365780635e62aa78146101495780637e947f24146101695780639a94488a1461018b5780639b24c3c014610223578063ae4bec82146102c5578063ae77c237146102e5578063b000e334146102f8578063cce7c90914610318578063d3ddabe614610338578063d9bffbce14610377578063d9eb16db14610397578063dd85582f146103c7578063e9d1e8ac14610408578063ed6677a914610449575b600080fd5b3480156100df57600080fd5b506100f36100ee36600461190c565b610469565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611929565b6104b0565b6040519081526020016100ff565b610128610144366004611959565b6104e8565b34801561015557600080fd5b50610128610164366004611929565b610703565b34801561017557600080fd5b5061018961018436600461199b565b610740565b005b34801561019757600080fd5b506102016101a6366004611929565b6040805180820190915260008082526020820152506001600160a01b031660009081526004602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b34801561022f57600080fd5b5061029f61023e366004611929565b6040805180820190915260008082526020820152506001600160a01b03166000908152600160209081526040808320938352928152908290208251808401909352546001600160f81b0381168352600160f81b900460ff1615159082015290565b6040805182516001600160f81b03168152602092830151151592810192909252016100ff565b3480156102d157600080fd5b506101286102e0366004611929565b6107f0565b6101286102f3366004611929565b610826565b34801561030457600080fd5b506101896103133660046119de565b610833565b34801561032457600080fd5b506100f3610333366004611929565b6108bb565b34801561034457600080fd5b5061036a60405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611a6d565b34801561038357600080fd5b50610189610392366004611929565b6108e7565b3480156103a357600080fd5b506103b76103b2366004611929565b610960565b6040516100ff9493929190611a80565b3480156103d357600080fd5b506103fb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ff9190611aba565b34801561041457600080fd5b5061036a604051806040016040528060158152602001744d696e74657253657450726963654552433230563560581b81525081565b34801561045557600080fd5b50610189610464366004611ae4565b6109e4565b6001600160a01b03811660009081526002602052604081208054610100900460ff161561049a575460ff1692915050565b6104a383610a9c565b9392505050565b50919050565b6001600160a01b0381166000908152600460209081526040808320858452909152812054610100900462ffffff165b90505b92915050565b60006002600054036105155760405162461bcd60e51b815260040161050c90611bc1565b60405180910390fd5b600260009081556001600160a01b038316808252600160209081526040808420878552825280842092845260048252808420878552909152909120805460ff16156105725760405162461bcd60e51b815260040161050c90611bf8565b8154600160f81b900460ff166105c15760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161050c565b6040516117cd60e21b81526001600160a01b0387811660048301526024820187905285811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561063a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065e9190611c29565b6001600160a01b0385166000908152600460209081526040808320898452909152902090935061068f908490610bd4565b6001600160a01b03841660009081526002602052604081206106b2908690610c23565b6001600160a01b03861660009081526003602090815260408083208a845290915290208454919250906106f390829089906001600160f81b03168986610c55565b5050505060016000559392505050565b6001600160a01b0380821660009081526003602090815260408083208684529091528120805491929091610738911633611148565b949350505050565b61074b8383336111b8565b6001600160a01b03821660008181526001602090815260408083208784529091528082206001600160f81b038516600160f81b8117825591519093919287917f37a132f63521ff11fed0c526f0f30824337316bb2b71fcfc0b6f3cf631595b5f9190a46001600160a01b038316600090815260046020908152604080832087845290915290206107da81611202565b156107e9576107e985856108e7565b5050505050565b6001600160a01b038082166000908152600360209081526040808320868452909152812080549192909161073891163330611222565b60006104df3384846104e8565b61083e8383336111b8565b6001600160a01b0382166000908152600460209081526040808320868452909152902061087090849084908490611294565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3505050565b6001600160a01b038116600090815260046020908152604080832085845290915281205460ff166104df565b6108f28282336111b8565b6001600160a01b03811660009081526004602090815260408083208584529091528120610922908490849061131b565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237836040516108ae91815260200190565b6001600160a01b03811660008181526001602090815260408083208684528252808320805494845260038352818420878552909252822091926001600160f81b03169160609184916109b1816113c0565b8354909550909350600160f81b900460ff1680156109d757506001600160a01b03831615155b9550505092959194509250565b600260005403610a065760405162461bcd60e51b815260040161050c90611bc1565b6002600055610a168484336111b8565b6001600160a01b03831660009081526003602090815260408083208784529091529020610a4481848461148e565b816001600160a01b0316846001600160a01b0316867f9009be442961d697adbe398af85c4743d0539b16e89324b6448ebac47eced55e86604051610a889190611a6d565b60405180910390a450506001600055505050565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610afe908590611c42565b600060405180830381855afa9150503d8060008114610b39576040519150601f19603f3d011682016040523d82523d6000602084013e610b3e565b606091505b509150915081610b605760405162461bcd60e51b815260040161050c90611c5e565b805160c0819003610b775750600095945050505050565b8061010003610b8c5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640161050c565b8054620f4240830660010190610100900462ffffff1680821115610c0a5760405162461bcd60e51b815260040161050c90611bf8565b808203610c1d57825460ff191660011783555b50505050565b8054600090610100900460ff1615610c405750805460ff166104e2565b6000610c4c8484611555565b91506104e29050565b82156107e95784546001600160a01b031680610cb35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207061796d656e74206e6f7420636f6e66696775726564000000604482015260640161050c565b3415610d015760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204e6f20455448207768656e207573696e672045524332300000604482015260640161050c565b610d0c338286611665565b80600080808080808815610e7257604051638639415b60e01b8152600481018d9052602481018c905260009081906001600160a01b038d1690638639415b9060440161010060405180830381865afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d909190611ca3565b969e50949c50909a50985091965091945090925090508115610e6b576040516323b872dd60e01b81526001600160a01b038a16906323b872dd90610ddc90339085908790600401611d2b565b6020604051808303816000875af1158015610dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1f9190611d5f565b610e6b5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161050c565b5050610ef2565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190611d7a565b949a509298509096509450925090505b8515610fb7576040516323b872dd60e01b81526001600160a01b038816906323b872dd90610f2890339089908b90600401611d2b565b6020604051808303816000875af1158015610f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6b9190611d5f565b610fb75760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161050c565b8315611074576040516323b872dd60e01b81526001600160a01b038816906323b872dd90610fed90339087908990600401611d2b565b6020604051808303816000875af115801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190611d5f565b6110745760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161050c565b8115611139576040516323b872dd60e01b81526001600160a01b038816906323b872dd906110aa90339085908790600401611d2b565b6020604051808303816000875af11580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed9190611d5f565b6111395760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161050c565b50505050505050505050505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190611177908590600401611aba565b602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611c29565b6111c38383836117dd565b6111fd5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161050c565b505050565b8054600090610100900462ffffff161580156104e25750505460ff161590565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906112539086908690600401611de3565b602060405180830381865afa158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190611c29565b6000806112a18686611866565b91509150808462ffffff1611156112ca5760405162461bcd60e51b815260040161050c90611dfd565b818462ffffff1610156112ef5760405162461bcd60e51b815260040161050c90611dfd565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b815260040161134e91815260200190565b60c060405180830381865afa15801561136b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138f9190611e2e565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b80546001600160a01b031660608115611465578260010180546113e290611e8d565b80601f016020809104026020016040519081016040528092919081815260200182805461140e90611e8d565b801561145b5780601f106114305761010080835404028352916020019161145b565b820191906000526020600020905b81548152906001019060200180831161143e57829003601f168201915b5050505050611487565b60405180604001604052806008815260200167554e434f4e46494760c01b8152505b9050915091565b6001600160a01b0381166114df5760405162461bcd60e51b815260206004820152601860248201527706e756c6c20616464726573732c206f6e6c792045524332360441b604482015260640161050c565b60008251116115275760405162461bcd60e51b81526020600482015260146024820152731bdb9b1e481b9bdb8b5b9d5b1b081cde5b589bdb60621b604482015260640161050c565b600183016115358382611f0f565b5082546001600160a01b0319166001600160a01b03919091161790915550565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038716906115b7908590611c42565b6000604051808303816000865af19150503d80600081146115f4576040519150601f19603f3d011682016040523d82523d6000602084013e6115f9565b606091505b50915091508161161b5760405162461bcd60e51b815260040161050c90611c5e565b805160c0819003611641575050835461ffff191661010017845550600091506104e29050565b8061010003610b8c575050835461ffff191661010117845550600191506104e29050565b604051636eb1769f60e11b815281906001600160a01b0384169063dd62ed3e906116959087903090600401611de3565b602060405180830381865afa1580156116b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d69190611c29565b10156117235760405162461bcd60e51b815260206004820152601c60248201527b496e73756666696369656e7420455243323020616c6c6f77616e636560201b604482015260640161050c565b6040516370a0823160e01b815281906001600160a01b038416906370a0823190611751908790600401611aba565b602060405180830381865afa15801561176e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117929190611c29565b10156111fd5760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e742045524332302062616c616e636560301b604482015260640161050c565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118499190611fce565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156118b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d49190611e2e565b5093989297509195505050505050565b6001600160a01b03811681146118f957600080fd5b50565b8035611907816118e4565b919050565b60006020828403121561191e57600080fd5b81356104a3816118e4565b6000806040838503121561193c57600080fd5b82359150602083013561194e816118e4565b809150509250929050565b60008060006060848603121561196e57600080fd5b8335611979816118e4565b9250602084013591506040840135611990816118e4565b809150509250925092565b6000806000606084860312156119b057600080fd5b8335925060208401356119c2816118e4565b915060408401356001600160f81b038116811461199057600080fd5b6000806000606084860312156119f357600080fd5b833592506020840135611a05816118e4565b9150604084013562ffffff8116811461199057600080fd5b60005b83811015611a38578181015183820152602001611a20565b50506000910152565b60008151808452611a59816020860160208601611a1d565b601f01601f19169290920160200192915050565b6020815260006104df6020830184611a41565b8415158152836020820152608060408201526000611aa16080830185611a41565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611afa57600080fd5b843593506020850135611b0c816118e4565b925060408501356001600160401b0380821115611b2857600080fd5b818701915087601f830112611b3c57600080fd5b813581811115611b4e57611b4e611ace565b604051601f8201601f19908116603f01168101908382118183101715611b7657611b76611ace565b816040528281528a6020848701011115611b8f57600080fd5b826020860160208301376000602084830101528096505050505050611bb6606086016118fc565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600060208284031215611c3b57600080fd5b5051919050565b60008251611c54818460208701611a1d565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b600080600080600080600080610100898b031215611cc057600080fd5b885197506020890151611cd2816118e4565b60408a015160608b01519198509650611cea816118e4565b60808a015160a08b01519196509450611d02816118e4565b60c08a015160e08b01519194509250611d1a816118e4565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8051801515811461190757600080fd5b600060208284031215611d7157600080fd5b6104df82611d4f565b60008060008060008060c08789031215611d9357600080fd5b865195506020870151611da5816118e4565b604088015160608901519196509450611dbd816118e4565b608088015160a08901519194509250611dd5816118e4565b809150509295509295509295565b6001600160a01b0392831681529116602082015260400190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b60008060008060008060c08789031215611e4757600080fd5b8651955060208701519450611e5e60408801611d4f565b9350611e6c60608801611d4f565b925060808701519150611e8160a08801611d4f565b90509295509295509295565b600181811c90821680611ea157607f821691505b6020821081036104aa57634e487b7160e01b600052602260045260246000fd5b601f8211156111fd57600081815260208120601f850160051c81016020861015611ee85750805b601f850160051c820191505b81811015611f0757828155600101611ef4565b505050505050565b81516001600160401b03811115611f2857611f28611ace565b611f3c81611f368454611e8d565b84611ec1565b602080601f831160018114611f715760008415611f595750858301515b600019600386901b1c1916600185901b178555611f07565b600085815260208120601f198616915b82811015611fa057888601518255948401946001909101908401611f81565b5085821015611fbe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611fe057600080fd5b81516104a3816118e456fea2646970667358221220fe54f876c3c6a84b63d4dbac4d6ca8fc7d2f41b4055034131d73d523a248a49d64736f6c63430008130033",
845
- "deployedBytecode": "0x6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d8787146101365780635e62aa78146101495780637e947f24146101695780639a94488a1461018b5780639b24c3c014610223578063ae4bec82146102c5578063ae77c237146102e5578063b000e334146102f8578063cce7c90914610318578063d3ddabe614610338578063d9bffbce14610377578063d9eb16db14610397578063dd85582f146103c7578063e9d1e8ac14610408578063ed6677a914610449575b600080fd5b3480156100df57600080fd5b506100f36100ee36600461190c565b610469565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611929565b6104b0565b6040519081526020016100ff565b610128610144366004611959565b6104e8565b34801561015557600080fd5b50610128610164366004611929565b610703565b34801561017557600080fd5b5061018961018436600461199b565b610740565b005b34801561019757600080fd5b506102016101a6366004611929565b6040805180820190915260008082526020820152506001600160a01b031660009081526004602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b34801561022f57600080fd5b5061029f61023e366004611929565b6040805180820190915260008082526020820152506001600160a01b03166000908152600160209081526040808320938352928152908290208251808401909352546001600160f81b0381168352600160f81b900460ff1615159082015290565b6040805182516001600160f81b03168152602092830151151592810192909252016100ff565b3480156102d157600080fd5b506101286102e0366004611929565b6107f0565b6101286102f3366004611929565b610826565b34801561030457600080fd5b506101896103133660046119de565b610833565b34801561032457600080fd5b506100f3610333366004611929565b6108bb565b34801561034457600080fd5b5061036a60405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611a6d565b34801561038357600080fd5b50610189610392366004611929565b6108e7565b3480156103a357600080fd5b506103b76103b2366004611929565b610960565b6040516100ff9493929190611a80565b3480156103d357600080fd5b506103fb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ff9190611aba565b34801561041457600080fd5b5061036a604051806040016040528060158152602001744d696e74657253657450726963654552433230563560581b81525081565b34801561045557600080fd5b50610189610464366004611ae4565b6109e4565b6001600160a01b03811660009081526002602052604081208054610100900460ff161561049a575460ff1692915050565b6104a383610a9c565b9392505050565b50919050565b6001600160a01b0381166000908152600460209081526040808320858452909152812054610100900462ffffff165b90505b92915050565b60006002600054036105155760405162461bcd60e51b815260040161050c90611bc1565b60405180910390fd5b600260009081556001600160a01b038316808252600160209081526040808420878552825280842092845260048252808420878552909152909120805460ff16156105725760405162461bcd60e51b815260040161050c90611bf8565b8154600160f81b900460ff166105c15760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161050c565b6040516117cd60e21b81526001600160a01b0387811660048301526024820187905285811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561063a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065e9190611c29565b6001600160a01b0385166000908152600460209081526040808320898452909152902090935061068f908490610bd4565b6001600160a01b03841660009081526002602052604081206106b2908690610c23565b6001600160a01b03861660009081526003602090815260408083208a845290915290208454919250906106f390829089906001600160f81b03168986610c55565b5050505060016000559392505050565b6001600160a01b0380821660009081526003602090815260408083208684529091528120805491929091610738911633611148565b949350505050565b61074b8383336111b8565b6001600160a01b03821660008181526001602090815260408083208784529091528082206001600160f81b038516600160f81b8117825591519093919287917f37a132f63521ff11fed0c526f0f30824337316bb2b71fcfc0b6f3cf631595b5f9190a46001600160a01b038316600090815260046020908152604080832087845290915290206107da81611202565b156107e9576107e985856108e7565b5050505050565b6001600160a01b038082166000908152600360209081526040808320868452909152812080549192909161073891163330611222565b60006104df3384846104e8565b61083e8383336111b8565b6001600160a01b0382166000908152600460209081526040808320868452909152902061087090849084908490611294565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3505050565b6001600160a01b038116600090815260046020908152604080832085845290915281205460ff166104df565b6108f28282336111b8565b6001600160a01b03811660009081526004602090815260408083208584529091528120610922908490849061131b565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237836040516108ae91815260200190565b6001600160a01b03811660008181526001602090815260408083208684528252808320805494845260038352818420878552909252822091926001600160f81b03169160609184916109b1816113c0565b8354909550909350600160f81b900460ff1680156109d757506001600160a01b03831615155b9550505092959194509250565b600260005403610a065760405162461bcd60e51b815260040161050c90611bc1565b6002600055610a168484336111b8565b6001600160a01b03831660009081526003602090815260408083208784529091529020610a4481848461148e565b816001600160a01b0316846001600160a01b0316867f9009be442961d697adbe398af85c4743d0539b16e89324b6448ebac47eced55e86604051610a889190611a6d565b60405180910390a450506001600055505050565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610afe908590611c42565b600060405180830381855afa9150503d8060008114610b39576040519150601f19603f3d011682016040523d82523d6000602084013e610b3e565b606091505b509150915081610b605760405162461bcd60e51b815260040161050c90611c5e565b805160c0819003610b775750600095945050505050565b8061010003610b8c5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640161050c565b8054620f4240830660010190610100900462ffffff1680821115610c0a5760405162461bcd60e51b815260040161050c90611bf8565b808203610c1d57825460ff191660011783555b50505050565b8054600090610100900460ff1615610c405750805460ff166104e2565b6000610c4c8484611555565b91506104e29050565b82156107e95784546001600160a01b031680610cb35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207061796d656e74206e6f7420636f6e66696775726564000000604482015260640161050c565b3415610d015760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204e6f20455448207768656e207573696e672045524332300000604482015260640161050c565b610d0c338286611665565b80600080808080808815610e7257604051638639415b60e01b8152600481018d9052602481018c905260009081906001600160a01b038d1690638639415b9060440161010060405180830381865afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d909190611ca3565b969e50949c50909a50985091965091945090925090508115610e6b576040516323b872dd60e01b81526001600160a01b038a16906323b872dd90610ddc90339085908790600401611d2b565b6020604051808303816000875af1158015610dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1f9190611d5f565b610e6b5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161050c565b5050610ef2565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190611d7a565b949a509298509096509450925090505b8515610fb7576040516323b872dd60e01b81526001600160a01b038816906323b872dd90610f2890339089908b90600401611d2b565b6020604051808303816000875af1158015610f47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6b9190611d5f565b610fb75760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161050c565b8315611074576040516323b872dd60e01b81526001600160a01b038816906323b872dd90610fed90339087908990600401611d2b565b6020604051808303816000875af115801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190611d5f565b6110745760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161050c565b8115611139576040516323b872dd60e01b81526001600160a01b038816906323b872dd906110aa90339085908790600401611d2b565b6020604051808303816000875af11580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed9190611d5f565b6111395760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161050c565b50505050505050505050505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190611177908590600401611aba565b602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611c29565b6111c38383836117dd565b6111fd5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161050c565b505050565b8054600090610100900462ffffff161580156104e25750505460ff161590565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906112539086908690600401611de3565b602060405180830381865afa158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107389190611c29565b6000806112a18686611866565b91509150808462ffffff1611156112ca5760405162461bcd60e51b815260040161050c90611dfd565b818462ffffff1610156112ef5760405162461bcd60e51b815260040161050c90611dfd565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b815260040161134e91815260200190565b60c060405180830381865afa15801561136b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138f9190611e2e565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b80546001600160a01b031660608115611465578260010180546113e290611e8d565b80601f016020809104026020016040519081016040528092919081815260200182805461140e90611e8d565b801561145b5780601f106114305761010080835404028352916020019161145b565b820191906000526020600020905b81548152906001019060200180831161143e57829003601f168201915b5050505050611487565b60405180604001604052806008815260200167554e434f4e46494760c01b8152505b9050915091565b6001600160a01b0381166114df5760405162461bcd60e51b815260206004820152601860248201527706e756c6c20616464726573732c206f6e6c792045524332360441b604482015260640161050c565b60008251116115275760405162461bcd60e51b81526020600482015260146024820152731bdb9b1e481b9bdb8b5b9d5b1b081cde5b589bdb60621b604482015260640161050c565b600183016115358382611f0f565b5082546001600160a01b0319166001600160a01b03919091161790915550565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038716906115b7908590611c42565b6000604051808303816000865af19150503d80600081146115f4576040519150601f19603f3d011682016040523d82523d6000602084013e6115f9565b606091505b50915091508161161b5760405162461bcd60e51b815260040161050c90611c5e565b805160c0819003611641575050835461ffff191661010017845550600091506104e29050565b8061010003610b8c575050835461ffff191661010117845550600191506104e29050565b604051636eb1769f60e11b815281906001600160a01b0384169063dd62ed3e906116959087903090600401611de3565b602060405180830381865afa1580156116b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d69190611c29565b10156117235760405162461bcd60e51b815260206004820152601c60248201527b496e73756666696369656e7420455243323020616c6c6f77616e636560201b604482015260640161050c565b6040516370a0823160e01b815281906001600160a01b038416906370a0823190611751908790600401611aba565b602060405180830381865afa15801561176e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117929190611c29565b10156111fd5760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e742045524332302062616c616e636560301b604482015260640161050c565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118499190611fce565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156118b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d49190611e2e565b5093989297509195505050505050565b6001600160a01b03811681146118f957600080fd5b50565b8035611907816118e4565b919050565b60006020828403121561191e57600080fd5b81356104a3816118e4565b6000806040838503121561193c57600080fd5b82359150602083013561194e816118e4565b809150509250929050565b60008060006060848603121561196e57600080fd5b8335611979816118e4565b9250602084013591506040840135611990816118e4565b809150509250925092565b6000806000606084860312156119b057600080fd5b8335925060208401356119c2816118e4565b915060408401356001600160f81b038116811461199057600080fd5b6000806000606084860312156119f357600080fd5b833592506020840135611a05816118e4565b9150604084013562ffffff8116811461199057600080fd5b60005b83811015611a38578181015183820152602001611a20565b50506000910152565b60008151808452611a59816020860160208601611a1d565b601f01601f19169290920160200192915050565b6020815260006104df6020830184611a41565b8415158152836020820152608060408201526000611aa16080830185611a41565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611afa57600080fd5b843593506020850135611b0c816118e4565b925060408501356001600160401b0380821115611b2857600080fd5b818701915087601f830112611b3c57600080fd5b813581811115611b4e57611b4e611ace565b604051601f8201601f19908116603f01168101908382118183101715611b7657611b76611ace565b816040528281528a6020848701011115611b8f57600080fd5b826020860160208301376000602084830101528096505050505050611bb6606086016118fc565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600060208284031215611c3b57600080fd5b5051919050565b60008251611c54818460208701611a1d565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b600080600080600080600080610100898b031215611cc057600080fd5b885197506020890151611cd2816118e4565b60408a015160608b01519198509650611cea816118e4565b60808a015160a08b01519196509450611d02816118e4565b60c08a015160e08b01519194509250611d1a816118e4565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8051801515811461190757600080fd5b600060208284031215611d7157600080fd5b6104df82611d4f565b60008060008060008060c08789031215611d9357600080fd5b865195506020870151611da5816118e4565b604088015160608901519196509450611dbd816118e4565b608088015160a08901519194509250611dd5816118e4565b809150509295509295509295565b6001600160a01b0392831681529116602082015260400190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b60008060008060008060c08789031215611e4757600080fd5b8651955060208701519450611e5e60408801611d4f565b9350611e6c60608801611d4f565b925060808701519150611e8160a08801611d4f565b90509295509295509295565b600181811c90821680611ea157607f821691505b6020821081036104aa57634e487b7160e01b600052602260045260246000fd5b601f8211156111fd57600081815260208120601f850160051c81016020861015611ee85750805b601f850160051c820191505b81811015611f0757828155600101611ef4565b505050505050565b81516001600160401b03811115611f2857611f28611ace565b611f3c81611f368454611e8d565b84611ec1565b602080601f831160018114611f715760008415611f595750858301515b600019600386901b1c1916600185901b178555611f07565b600085815260208120601f198616915b82811015611fa057888601518255948401946001909101908401611f81565b5085821015611fbe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611fe057600080fd5b81516104a3816118e456fea2646970667358221220fe54f876c3c6a84b63d4dbac4d6ca8fc7d2f41b4055034131d73d523a248a49d64736f6c63430008130033",
448
+ "bytecode": "0x60c060405234801561001057600080fd5b5060405162002139380380620021398339810160408190526100319161004c565b60016000556001600160a01b0316608081905260a05261007c565b60006020828403121561005e57600080fd5b81516001600160a01b038116811461007557600080fd5b9392505050565b60805160a051612097620000a2600039600061047b0152600061028b01526120976000f3fe608060405234801561001057600080fd5b50600436106100db5760003560e01c806301000da7146100e057806328c5c4e5146101085780632f68ebad146101295780634869f3df1461013c5780635e62aa781461014f5780637e947f24146101625780639a94488a146101775780639b24c3c0146101ac578063ae4bec82146101e5578063b000e334146101f8578063cce7c9091461020b578063d3ddabe61461021e578063d9bffbce14610250578063d9eb16db14610263578063dd85582f14610286578063e9d1e8ac146102ba578063ed6677a9146102ee575b600080fd5b6100f36100ee36600461191a565b610301565b60405190151581526020015b60405180910390f35b61011b610116366004611937565b61033f565b6040519081526020016100ff565b61011b610137366004611996565b61050d565b61011b61014a3660046119e0565b610525565b61011b61015d3660046119e0565b61053a565b610175610170366004611a10565b61055c565b005b61018a6101853660046119e0565b610599565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101bf6101ba3660046119e0565b6105e1565b6040805182516001600160f81b03168152602092830151151592810192909252016100ff565b61011b6101f33660046119e0565b61062f565b610175610206366004611a5e565b61064a565b6100f36102193660046119e0565b610660565b61024360405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611aed565b61017561025e3660046119e0565b61066c565b6102766102713660046119e0565b610685565b6040516100ff9493929190611b00565b6102ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ff9190611b3a565b610243604051806040016040528060158152602001744d696e74657253657450726963654552433230563560581b81525081565b6101756102fc366004611b64565b6106e2565b60008061030d83610740565b8054909150610100900460ff1615610329575460ff1692915050565b6103328361076b565b9392505050565b50919050565b600060026000540361036c5760405162461bcd60e51b815260040161036390611c41565b60405180910390fd5b600260005561037b85856108e1565b60006103878686610912565b905060006103958787610982565b509050806001600160a01b0316846001600160a01b0316146103f95760405162461bcd60e51b815260206004820152601d60248201527f43757272656e637920616464726573736573206d757374206d617463680000006044820152606401610363565b818510156104495760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61782070726963652067746520746f6b656e20707269636500006044820152606401610363565b6040516117cd60e21b81526001600160a01b0389811660048301526024820189905287811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190611c78565b92506104f28387610a65565b6104fd878388610ad2565b5050600160005595945050505050565b600061051c338686868661033f565b95945050505050565b60006105318383610d0c565b90505b92915050565b6000806105478484610982565b5090506105548133610d2c565b949350505050565b610567838333610d9c565b61057b8383836001600160f81b0316610de1565b6105858383610e40565b15610594576105948383610e70565b505050565b60408051808201909152600080825260208201526105b78383610f0b565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526105ff8383610f56565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b60008061063c8484610982565b509050610554813330610f60565b610655838333610d9c565b610594838383610fd2565b600061053183836110a8565b610677828233610d9c565b6106818282610e70565b5050565b60008060606000806106978787610f56565b80546001600160f81b0316945090506106b08787610982565b8254909450909250600160f81b900460ff1680156106d657506001600160a01b03821615155b94505092959194509250565b6002600054036107045760405162461bcd60e51b815260040161036390611c41565b6002600055610714848433610d9c565b6000610722858585856110c1565b905080156107345761073485856111eb565b50506001600055505050565b600061074a611246565b6001600160a01b039092166000908152600192909201602052506040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906107cd908590611c91565b600060405180830381855afa9150503d8060008114610808576040519150601f19603f3d011682016040523d82523d6000602084013e61080d565b606091505b50915091508161086d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610363565b805160c08190036108845750600095945050505050565b80610100036108995750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610363565b60006108ed8383610f0b565b805490915060ff16156105945760405162461bcd60e51b815260040161036390611cad565b60008061091f8484610f56565b8054909150600160f81b900460ff166109715760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610363565b546001600160f81b03169392505050565b600060606000610992858561126a565b80546001600160a01b0316935090508215610a39578060010180546109b690611cde565b80601f01602080910402602001604051908101604052809291908181526020018280546109e290611cde565b8015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b820191906000526020600020905b815481529060010190602001808311610a1257829003601f168201915b5050505050610a5b565b60405180604001604052806008815260200167554e434f4e46494760c01b8152505b9150509250929050565b6000610a7083611274565b90506000610a7e8284610f0b565b8054909150620f4240850660010190610100900462ffffff1680821115610ab75760405162461bcd60e51b815260040161036390611cad565b808203610aca57825460ff191660011783555b505050505050565b81600003610adf57505050565b600080610aec858461126a565b80549091506001600160a01b031680610b475760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207061796d656e74206e6f7420636f6e666967757265640000006044820152606401610363565b610b52338287611283565b915060009050610b61836113fb565b90506000806000806000806000808815610bff57604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440161010060405180830381865afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be69190611d12565b969e50949c50929a509098509650945092509050610c7f565b604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440160c060405180830381865afa158015610c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6f9190611d9a565b949c50929a509096509450925090505b8b8285610c8c898c611e03565b610c969190611e03565b610ca09190611e03565b14610cec5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610363565b610cfd8a87878b8b89898989611449565b50505050505050505050505050565b600080610d198484610f0b565b54610100900462ffffff16949350505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190610d5b908590600401611b3a565b602060405180830381865afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190611c78565b610da7838383611760565b6105945760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610363565b6000610ded8484610f56565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610e4d8484610f0b565b8054909150610100900462ffffff1615801561055457505460ff16159392505050565b600080610e7d84846117e9565b915091506000610e8d8585610f0b565b9050610e9882611867565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610efc9086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b6000610f2f6118cf565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610f919086908690600401611e24565b602060405180830381865afa158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105549190611c78565b600080610fdf85856117e9565b91509150808362ffffff1611156110085760405162461bcd60e51b815260040161036390611e3e565b818362ffffff16101561102d5760405162461bcd60e51b815260040161036390611e3e565b60006110398686610f0b565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b6000806110b58484610f0b565b5460ff16949350505050565b60006001600160a01b0382166111145760405162461bcd60e51b815260206004820152601860248201527706e756c6c20616464726573732c206f6e6c792045524332360441b6044820152606401610363565b600083511161115c5760405162461bcd60e51b81526020600482015260146024820152731bdb9b1e481b9bdb8b5b9d5b1b081cde5b589bdb60621b6044820152606401610363565b6000611168868661126a565b80546001600160a01b0316151592509050600181016111878582611eb5565b5080546001600160a01b0319166001600160a01b0384811691821783556040519087169088907f9009be442961d697adbe398af85c4743d0539b16e89324b6448ebac47eced55e906111da908990611aed565b60405180910390a450949350505050565b6111f36118cf565b6001600160a01b0382166000818152602092835260408082208683529093528281208190559151909184917f6e7520832121cb96e12b3c7502c0e4330c9ef76df21f25c6f807471daf0e516c9190a35050565b7f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b3890565b6000610f2f611246565b6000610534620f424083611f74565b604051636eb1769f60e11b815281906001600160a01b0384169063dd62ed3e906112b39087903090600401611e24565b602060405180830381865afa1580156112d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f49190611c78565b10156113415760405162461bcd60e51b815260206004820152601c60248201527b496e73756666696369656e7420455243323020616c6c6f77616e636560201b6044820152606401610363565b6040516370a0823160e01b815281906001600160a01b038416906370a082319061136f908790600401611b3a565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190611c78565b10156105945760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e742045524332302062616c616e636560301b6044820152606401610363565b60008061140783610740565b8054909150610100900460ff1615611423575460ff1692915050565b600061142e8461076b565b825481151561ffff1990911617610100179092555092915050565b871561150e576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061147f9033908b908d90600401611f96565b6020604051808303816000875af115801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190611fca565b61150e5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610363565b85156115d3576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061154490339089908b90600401611f96565b6020604051808303816000875af1158015611563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115879190611fca565b6115d35760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610363565b8315611690576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061160990339087908990600401611f96565b6020604051808303816000875af1158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190611fca565b6116905760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610363565b8115611755576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906116c690339085908790600401611f96565b6020604051808303816000875af11580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611fca565b6117555760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610363565b505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190611fe5565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190612002565b5093989297509195505050505050565b600062ffffff8211156118cb5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b6064820152608401610363565b5090565b7efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d790565b6001600160a01b038116811461190757600080fd5b50565b8035611915816118f2565b919050565b60006020828403121561192c57600080fd5b8135610332816118f2565b600080600080600060a0868803121561194f57600080fd5b853561195a816118f2565b9450602086013593506040860135611971816118f2565b9250606086013591506080860135611988816118f2565b809150509295509295909350565b600080600080608085870312156119ac57600080fd5b8435935060208501356119be816118f2565b92506040850135915060608501356119d5816118f2565b939692955090935050565b600080604083850312156119f357600080fd5b823591506020830135611a05816118f2565b809150509250929050565b600080600060608486031215611a2557600080fd5b833592506020840135611a37816118f2565b915060408401356001600160f81b0381168114611a5357600080fd5b809150509250925092565b600080600060608486031215611a7357600080fd5b833592506020840135611a85816118f2565b9150604084013562ffffff81168114611a5357600080fd5b60005b83811015611ab8578181015183820152602001611aa0565b50506000910152565b60008151808452611ad9816020860160208601611a9d565b601f01601f19169290920160200192915050565b6020815260006105316020830184611ac1565b8415158152836020820152608060408201526000611b216080830185611ac1565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611b7a57600080fd5b843593506020850135611b8c816118f2565b925060408501356001600160401b0380821115611ba857600080fd5b818701915087601f830112611bbc57600080fd5b813581811115611bce57611bce611b4e565b604051601f8201601f19908116603f01168101908382118183101715611bf657611bf6611b4e565b816040528281528a6020848701011115611c0f57600080fd5b826020860160208301376000602084830101528096505050505050611c366060860161190a565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060208284031215611c8a57600080fd5b5051919050565b60008251611ca3818460208701611a9d565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600181811c90821680611cf257607f821691505b60208210810361033957634e487b7160e01b600052602260045260246000fd5b600080600080600080600080610100898b031215611d2f57600080fd5b885197506020890151611d41816118f2565b60408a015160608b01519198509650611d59816118f2565b60808a015160a08b01519196509450611d71816118f2565b60c08a015160e08b01519194509250611d89816118f2565b809150509295985092959890939650565b60008060008060008060c08789031215611db357600080fd5b865195506020870151611dc5816118f2565b604088015160608901519196509450611ddd816118f2565b608088015160a08901519194509250611df5816118f2565b809150509295509295509295565b8082018082111561053457634e487b7160e01b600052601160045260246000fd5b6001600160a01b0392831681529116602082015260400190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b601f82111561059457600081815260208120601f850160051c81016020861015611e965750805b601f850160051c820191505b81811015610aca57828155600101611ea2565b81516001600160401b03811115611ece57611ece611b4e565b611ee281611edc8454611cde565b84611e6f565b602080601f831160018114611f175760008415611eff5750858301515b600019600386901b1c1916600185901b178555610aca565b600085815260208120601f198616915b82811015611f4657888601518255948401946001909101908401611f27565b5085821015611f645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082611f9157634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8051801515811461191557600080fd5b600060208284031215611fdc57600080fd5b61053182611fba565b600060208284031215611ff757600080fd5b8151610332816118f2565b60008060008060008060c0878903121561201b57600080fd5b865195506020870151945061203260408801611fba565b935061204060608801611fba565b92506080870151915061205560a08801611fba565b9050929550929550929556fea264697066735822122042c9b177a7d707258a6fbfb019a59d87eb197d2a3e0ad92d0b0dbf49a6377dc964736f6c63430008130033",
449
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100db5760003560e01c806301000da7146100e057806328c5c4e5146101085780632f68ebad146101295780634869f3df1461013c5780635e62aa781461014f5780637e947f24146101625780639a94488a146101775780639b24c3c0146101ac578063ae4bec82146101e5578063b000e334146101f8578063cce7c9091461020b578063d3ddabe61461021e578063d9bffbce14610250578063d9eb16db14610263578063dd85582f14610286578063e9d1e8ac146102ba578063ed6677a9146102ee575b600080fd5b6100f36100ee36600461191a565b610301565b60405190151581526020015b60405180910390f35b61011b610116366004611937565b61033f565b6040519081526020016100ff565b61011b610137366004611996565b61050d565b61011b61014a3660046119e0565b610525565b61011b61015d3660046119e0565b61053a565b610175610170366004611a10565b61055c565b005b61018a6101853660046119e0565b610599565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101bf6101ba3660046119e0565b6105e1565b6040805182516001600160f81b03168152602092830151151592810192909252016100ff565b61011b6101f33660046119e0565b61062f565b610175610206366004611a5e565b61064a565b6100f36102193660046119e0565b610660565b61024360405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611aed565b61017561025e3660046119e0565b61066c565b6102766102713660046119e0565b610685565b6040516100ff9493929190611b00565b6102ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ff9190611b3a565b610243604051806040016040528060158152602001744d696e74657253657450726963654552433230563560581b81525081565b6101756102fc366004611b64565b6106e2565b60008061030d83610740565b8054909150610100900460ff1615610329575460ff1692915050565b6103328361076b565b9392505050565b50919050565b600060026000540361036c5760405162461bcd60e51b815260040161036390611c41565b60405180910390fd5b600260005561037b85856108e1565b60006103878686610912565b905060006103958787610982565b509050806001600160a01b0316846001600160a01b0316146103f95760405162461bcd60e51b815260206004820152601d60248201527f43757272656e637920616464726573736573206d757374206d617463680000006044820152606401610363565b818510156104495760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61782070726963652067746520746f6b656e20707269636500006044820152606401610363565b6040516117cd60e21b81526001600160a01b0389811660048301526024820189905287811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190611c78565b92506104f28387610a65565b6104fd878388610ad2565b5050600160005595945050505050565b600061051c338686868661033f565b95945050505050565b60006105318383610d0c565b90505b92915050565b6000806105478484610982565b5090506105548133610d2c565b949350505050565b610567838333610d9c565b61057b8383836001600160f81b0316610de1565b6105858383610e40565b15610594576105948383610e70565b505050565b60408051808201909152600080825260208201526105b78383610f0b565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526105ff8383610f56565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b60008061063c8484610982565b509050610554813330610f60565b610655838333610d9c565b610594838383610fd2565b600061053183836110a8565b610677828233610d9c565b6106818282610e70565b5050565b60008060606000806106978787610f56565b80546001600160f81b0316945090506106b08787610982565b8254909450909250600160f81b900460ff1680156106d657506001600160a01b03821615155b94505092959194509250565b6002600054036107045760405162461bcd60e51b815260040161036390611c41565b6002600055610714848433610d9c565b6000610722858585856110c1565b905080156107345761073485856111eb565b50506001600055505050565b600061074a611246565b6001600160a01b039092166000908152600192909201602052506040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906107cd908590611c91565b600060405180830381855afa9150503d8060008114610808576040519150601f19603f3d011682016040523d82523d6000602084013e61080d565b606091505b50915091508161086d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610363565b805160c08190036108845750600095945050505050565b80610100036108995750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610363565b60006108ed8383610f0b565b805490915060ff16156105945760405162461bcd60e51b815260040161036390611cad565b60008061091f8484610f56565b8054909150600160f81b900460ff166109715760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610363565b546001600160f81b03169392505050565b600060606000610992858561126a565b80546001600160a01b0316935090508215610a39578060010180546109b690611cde565b80601f01602080910402602001604051908101604052809291908181526020018280546109e290611cde565b8015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b820191906000526020600020905b815481529060010190602001808311610a1257829003601f168201915b5050505050610a5b565b60405180604001604052806008815260200167554e434f4e46494760c01b8152505b9150509250929050565b6000610a7083611274565b90506000610a7e8284610f0b565b8054909150620f4240850660010190610100900462ffffff1680821115610ab75760405162461bcd60e51b815260040161036390611cad565b808203610aca57825460ff191660011783555b505050505050565b81600003610adf57505050565b600080610aec858461126a565b80549091506001600160a01b031680610b475760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207061796d656e74206e6f7420636f6e666967757265640000006044820152606401610363565b610b52338287611283565b915060009050610b61836113fb565b90506000806000806000806000808815610bff57604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440161010060405180830381865afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be69190611d12565b969e50949c50929a509098509650945092509050610c7f565b604051638639415b60e01b8152600481018e9052602481018d90526001600160a01b038c1690638639415b9060440160c060405180830381865afa158015610c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6f9190611d9a565b949c50929a509096509450925090505b8b8285610c8c898c611e03565b610c969190611e03565b610ca09190611e03565b14610cec5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610363565b610cfd8a87878b8b89898989611449565b50505050505050505050505050565b600080610d198484610f0b565b54610100900462ffffff16949350505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190610d5b908590600401611b3a565b602060405180830381865afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190611c78565b610da7838383611760565b6105945760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610363565b6000610ded8484610f56565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610e4d8484610f0b565b8054909150610100900462ffffff1615801561055457505460ff16159392505050565b600080610e7d84846117e9565b915091506000610e8d8585610f0b565b9050610e9882611867565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610efc9086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b6000610f2f6118cf565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610f919086908690600401611e24565b602060405180830381865afa158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105549190611c78565b600080610fdf85856117e9565b91509150808362ffffff1611156110085760405162461bcd60e51b815260040161036390611e3e565b818362ffffff16101561102d5760405162461bcd60e51b815260040161036390611e3e565b60006110398686610f0b565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b6000806110b58484610f0b565b5460ff16949350505050565b60006001600160a01b0382166111145760405162461bcd60e51b815260206004820152601860248201527706e756c6c20616464726573732c206f6e6c792045524332360441b6044820152606401610363565b600083511161115c5760405162461bcd60e51b81526020600482015260146024820152731bdb9b1e481b9bdb8b5b9d5b1b081cde5b589bdb60621b6044820152606401610363565b6000611168868661126a565b80546001600160a01b0316151592509050600181016111878582611eb5565b5080546001600160a01b0319166001600160a01b0384811691821783556040519087169088907f9009be442961d697adbe398af85c4743d0539b16e89324b6448ebac47eced55e906111da908990611aed565b60405180910390a450949350505050565b6111f36118cf565b6001600160a01b0382166000818152602092835260408082208683529093528281208190559151909184917f6e7520832121cb96e12b3c7502c0e4330c9ef76df21f25c6f807471daf0e516c9190a35050565b7f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b3890565b6000610f2f611246565b6000610534620f424083611f74565b604051636eb1769f60e11b815281906001600160a01b0384169063dd62ed3e906112b39087903090600401611e24565b602060405180830381865afa1580156112d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f49190611c78565b10156113415760405162461bcd60e51b815260206004820152601c60248201527b496e73756666696369656e7420455243323020616c6c6f77616e636560201b6044820152606401610363565b6040516370a0823160e01b815281906001600160a01b038416906370a082319061136f908790600401611b3a565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190611c78565b10156105945760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e742045524332302062616c616e636560301b6044820152606401610363565b60008061140783610740565b8054909150610100900460ff1615611423575460ff1692915050565b600061142e8461076b565b825481151561ffff1990911617610100179092555092915050565b871561150e576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061147f9033908b908d90600401611f96565b6020604051808303816000875af115801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190611fca565b61150e5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610363565b85156115d3576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061154490339089908b90600401611f96565b6020604051808303816000875af1158015611563573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115879190611fca565b6115d35760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610363565b8315611690576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061160990339087908990600401611f96565b6020604051808303816000875af1158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190611fca565b6116905760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610363565b8115611755576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906116c690339085908790600401611f96565b6020604051808303816000875af11580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611fca565b6117555760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610363565b505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190611fe5565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190612002565b5093989297509195505050505050565b600062ffffff8211156118cb5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b6064820152608401610363565b5090565b7efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d790565b6001600160a01b038116811461190757600080fd5b50565b8035611915816118f2565b919050565b60006020828403121561192c57600080fd5b8135610332816118f2565b600080600080600060a0868803121561194f57600080fd5b853561195a816118f2565b9450602086013593506040860135611971816118f2565b9250606086013591506080860135611988816118f2565b809150509295509295909350565b600080600080608085870312156119ac57600080fd5b8435935060208501356119be816118f2565b92506040850135915060608501356119d5816118f2565b939692955090935050565b600080604083850312156119f357600080fd5b823591506020830135611a05816118f2565b809150509250929050565b600080600060608486031215611a2557600080fd5b833592506020840135611a37816118f2565b915060408401356001600160f81b0381168114611a5357600080fd5b809150509250925092565b600080600060608486031215611a7357600080fd5b833592506020840135611a85816118f2565b9150604084013562ffffff81168114611a5357600080fd5b60005b83811015611ab8578181015183820152602001611aa0565b50506000910152565b60008151808452611ad9816020860160208601611a9d565b601f01601f19169290920160200192915050565b6020815260006105316020830184611ac1565b8415158152836020820152608060408201526000611b216080830185611ac1565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611b7a57600080fd5b843593506020850135611b8c816118f2565b925060408501356001600160401b0380821115611ba857600080fd5b818701915087601f830112611bbc57600080fd5b813581811115611bce57611bce611b4e565b604051601f8201601f19908116603f01168101908382118183101715611bf657611bf6611b4e565b816040528281528a6020848701011115611c0f57600080fd5b826020860160208301376000602084830101528096505050505050611c366060860161190a565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060208284031215611c8a57600080fd5b5051919050565b60008251611ca3818460208701611a9d565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600181811c90821680611cf257607f821691505b60208210810361033957634e487b7160e01b600052602260045260246000fd5b600080600080600080600080610100898b031215611d2f57600080fd5b885197506020890151611d41816118f2565b60408a015160608b01519198509650611d59816118f2565b60808a015160a08b01519196509450611d71816118f2565b60c08a015160e08b01519194509250611d89816118f2565b809150509295985092959890939650565b60008060008060008060c08789031215611db357600080fd5b865195506020870151611dc5816118f2565b604088015160608901519196509450611ddd816118f2565b608088015160a08901519194509250611df5816118f2565b809150509295509295509295565b8082018082111561053457634e487b7160e01b600052601160045260246000fd5b6001600160a01b0392831681529116602082015260400190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b601f82111561059457600081815260208120601f850160051c81016020861015611e965750805b601f850160051c820191505b81811015610aca57828155600101611ea2565b81516001600160401b03811115611ece57611ece611b4e565b611ee281611edc8454611cde565b84611e6f565b602080601f831160018114611f175760008415611eff5750858301515b600019600386901b1c1916600185901b178555610aca565b600085815260208120601f198616915b82811015611f4657888601518255948401946001909101908401611f27565b5085821015611f645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082611f9157634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8051801515811461191557600080fd5b600060208284031215611fdc57600080fd5b61053182611fba565b600060208284031215611ff757600080fd5b8151610332816118f2565b60008060008060008060c0878903121561201b57600080fd5b865195506020870151945061203260408801611fba565b935061204060608801611fba565b92506080870151915061205560a08801611fba565b9050929550929550929556fea264697066735822122042c9b177a7d707258a6fbfb019a59d87eb197d2a3e0ad92d0b0dbf49a6377dc964736f6c63430008130033",
846
450
  "linkReferences": {},
847
451
  "deployedLinkReferences": {}
848
452
  }