@artblocks/contracts 1.1.0 → 1.2.1

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 (326) hide show
  1. package/README.md +86 -34
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +201 -0
  5. package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +154 -0
  6. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +87 -0
  7. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +403 -155
  8. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +2493 -0
  9. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +311 -0
  10. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2060 -0
  11. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2034 -0
  12. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  15. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  18. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +3 -3
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  21. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  25. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  30. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
  31. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +54 -49
  32. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
  33. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  36. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
  38. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -2
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
  42. package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
  43. package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
  44. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +624 -0
  45. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +613 -216
  46. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +805 -206
  47. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +51 -8
  48. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  49. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +51 -8
  50. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +59 -54
  51. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +2 -2
  52. package/artifacts/contracts/generator/AddressChunks.sol/AddressChunks.json +10 -0
  53. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +333 -0
  54. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/ILegacyGenArt721CoreV2_PBAB_Flex.json +47 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +7 -7
  57. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol/IBytecodeStorageReader_Base.json +30 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +13 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +228 -45
  61. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  63. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
  64. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +53 -48
  65. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +53 -48
  66. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +198 -90
  67. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +198 -90
  68. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1065 -0
  69. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +778 -0
  70. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
  71. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol/IGenArt721CoreProjectScriptV0.json +59 -0
  72. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol/IGenArt721CoreProjectScriptV1.json +64 -0
  73. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol/IGenArt721CoreTokenHashProviderV0.json +30 -0
  74. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol/IGenArt721CoreTokenHashProviderV1.json +30 -0
  75. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol/IGenArt721GeneratorV0.json +63 -0
  76. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
  77. package/artifacts/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol/IOwnedCreate2FactoryV0.json +74 -0
  78. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
  79. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +37 -0
  80. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +18 -0
  81. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol/ISharedMinterMinPriceV0.json +37 -0
  82. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
  83. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
  84. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +1 -1
  85. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
  86. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
  87. package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
  88. package/artifacts/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +56 -0
  89. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol/ERC721SeaDropStructsErrorsAndEvents.json +43 -0
  90. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol/INonFungibleSeaDropToken.json +715 -0
  91. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol/ISeaDrop.json +1571 -0
  92. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol/ISeaDropTokenContractMetadata.json +345 -0
  93. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol/SeaDropErrorsAndEvents.json +717 -0
  94. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
  95. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  96. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  97. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  98. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  99. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  100. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  101. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  102. package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
  103. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
  104. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
  105. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
  106. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
  107. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
  108. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  109. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
  110. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  111. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
  112. package/artifacts/contracts/libs/v0.8.x/JsonStatic.sol/JsonStatic.json +10 -0
  113. package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
  114. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
  115. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +195 -0
  116. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +2 -2
  117. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +2 -2
  118. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +2 -2
  119. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +2 -2
  120. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  121. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +2 -2
  122. package/artifacts/contracts/libs/v0.8.x/minter-libs/MinPriceLib.sol/MinPriceLib.json +24 -0
  123. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  124. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
  125. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  126. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +2 -2
  127. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  128. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  129. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +2 -2
  130. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  131. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  132. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  133. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  134. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  135. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  136. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  137. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +664 -0
  138. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +387 -0
  139. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
  140. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +7 -7
  141. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  142. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  143. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  144. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  145. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  146. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  147. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
  148. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +1206 -0
  149. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
  150. package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
  151. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
  152. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  153. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  154. package/artifacts/contracts/mock/ERC20MockAltDecimals.sol/ERC20MockAltDecimals.json +318 -0
  155. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
  156. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  157. package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
  158. package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
  159. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
  160. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
  161. package/artifacts/contracts/mock/MockFileStore.sol/MockFileStore.json +35 -0
  162. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  163. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  164. package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
  165. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  166. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +2 -2
  167. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  168. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +2 -2
  169. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  170. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +2 -2
  171. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  172. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +2 -2
  173. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
  174. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
  175. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  176. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  177. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
  178. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  179. package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
  180. package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
  181. package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
  182. package/contracts/AdminACLV0.sol +6 -2
  183. package/contracts/AdminACLV1.sol +2 -2
  184. package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol +103 -0
  185. package/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol +70 -0
  186. package/contracts/BytecodeStorageV2Writer.sol +69 -0
  187. package/contracts/DependencyRegistryV0.sol +878 -430
  188. package/contracts/GenArt721CoreV3_Curated.sol +133 -0
  189. package/contracts/OwnedCreate2FactoryV0.sol +173 -0
  190. package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
  191. package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
  192. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
  193. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
  194. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  195. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
  196. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +8 -8
  197. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
  198. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
  199. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
  200. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
  201. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
  202. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
  203. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
  204. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
  205. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
  206. package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
  207. package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
  208. package/contracts/engine/V3/EngineFactoryV0.sol +427 -0
  209. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +977 -502
  210. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1137 -663
  211. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +3 -3
  212. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +1 -1
  213. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
  214. package/contracts/generator/AddressChunks.sol +106 -0
  215. package/contracts/generator/GenArt721GeneratorV0.sol +1094 -0
  216. package/contracts/generator/scripty-support/Scripty.sol +5 -0
  217. package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
  218. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +34 -36
  219. package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +25 -0
  220. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol +20 -0
  221. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +5 -0
  222. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +141 -45
  223. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
  224. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
  225. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
  226. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
  227. package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
  228. package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
  229. package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
  230. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +126 -11
  231. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +86 -8
  232. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
  233. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
  234. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
  235. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
  236. package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol +22 -0
  237. package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol +23 -0
  238. package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol +11 -0
  239. package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol +9 -0
  240. package/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol +14 -0
  241. package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
  242. package/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol +40 -0
  243. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
  244. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +19 -0
  245. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +19 -0
  246. package/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol +22 -0
  247. package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
  248. package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +26 -0
  249. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -4
  250. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +12 -6
  251. package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
  252. package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
  253. package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
  254. package/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol +28 -0
  255. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol +58 -0
  256. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol +186 -0
  257. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol +337 -0
  258. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol +152 -0
  259. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol +320 -0
  260. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropStructs.sol +146 -0
  261. package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
  262. package/contracts/libs/v0.8.x/ABHelpers.sol +18 -4
  263. package/contracts/libs/v0.8.x/BitMap.sol +112 -0
  264. package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
  265. package/contracts/libs/v0.8.x/Bytes32Strings.sol +20 -0
  266. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +98 -0
  267. package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
  268. package/contracts/libs/v0.8.x/JsonStatic.sol +373 -0
  269. package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
  270. package/contracts/libs/v0.8.x/V3FlexLib.sol +597 -0
  271. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +10 -12
  272. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +4 -9
  273. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +44 -44
  274. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +64 -63
  275. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +14 -10
  276. package/contracts/libs/v0.8.x/minter-libs/MinPriceLib.sol +64 -0
  277. package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
  278. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +60 -62
  279. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +4 -8
  280. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +92 -89
  281. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +128 -15
  282. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +5 -4
  283. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +16 -10
  284. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +2 -2
  285. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +19 -15
  286. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +2 -2
  287. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +2 -2
  288. package/contracts/minter-suite/Minters/MinterDALinV5.sol +2 -2
  289. package/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol +765 -0
  290. package/contracts/minter-suite/Minters/MinterMinPriceV0.sol +462 -0
  291. package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
  292. package/contracts/minter-suite/Minters/MinterSEAV1.sol +21 -32
  293. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +17 -8
  294. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +2 -2
  295. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +2 -2
  296. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +23 -9
  297. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +2 -2
  298. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +2 -2
  299. package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
  300. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +869 -0
  301. package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
  302. package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
  303. package/contracts/mock/ERC20MockAltDecimals.sol +31 -0
  304. package/contracts/mock/ForceSendMock.sol +22 -0
  305. package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
  306. package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
  307. package/contracts/mock/MockAdminACLV0.sol +21 -0
  308. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
  309. package/contracts/mock/MockFileStore.sol +22 -0
  310. package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
  311. package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
  312. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
  313. package/contracts/randomizer/shared/SharedRandomizerV0.sol +1 -1
  314. package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
  315. package/contracts/split/SplitAtomicV0.sol +265 -0
  316. package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
  317. package/package.json +66 -36
  318. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
  319. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
  320. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
  321. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
  322. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
  323. package/contracts/archive/readme.md +0 -16
  324. package/contracts/engine/README.md +0 -21
  325. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
  326. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
@@ -0,0 +1,1374 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterRAMV0",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterRAMV0.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "minterFilter",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": false,
22
+ "internalType": "uint256",
23
+ "name": "auctionBufferSeconds",
24
+ "type": "uint256"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "maxAuctionExtraSeconds",
30
+ "type": "uint256"
31
+ }
32
+ ],
33
+ "name": "AuctionBufferTimeParamsUpdated",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "uint256",
42
+ "name": "projectId",
43
+ "type": "uint256"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "coreContract",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "uint256",
54
+ "name": "timestampStart",
55
+ "type": "uint256"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "uint256",
60
+ "name": "timestampEnd",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "uint256",
66
+ "name": "basePrice",
67
+ "type": "uint256"
68
+ },
69
+ {
70
+ "indexed": false,
71
+ "internalType": "bool",
72
+ "name": "allowExtraTime",
73
+ "type": "bool"
74
+ },
75
+ {
76
+ "indexed": false,
77
+ "internalType": "bool",
78
+ "name": "adminArtistOnlyMintPeriodIfSellout",
79
+ "type": "bool"
80
+ },
81
+ {
82
+ "indexed": false,
83
+ "internalType": "uint256",
84
+ "name": "numTokensInAuction",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "name": "AuctionConfigUpdated",
89
+ "type": "event"
90
+ },
91
+ {
92
+ "anonymous": false,
93
+ "inputs": [
94
+ {
95
+ "indexed": true,
96
+ "internalType": "uint256",
97
+ "name": "projectId",
98
+ "type": "uint256"
99
+ },
100
+ {
101
+ "indexed": true,
102
+ "internalType": "address",
103
+ "name": "coreContract",
104
+ "type": "address"
105
+ },
106
+ {
107
+ "indexed": false,
108
+ "internalType": "uint256",
109
+ "name": "timestampEnd",
110
+ "type": "uint256"
111
+ }
112
+ ],
113
+ "name": "AuctionTimestampEndUpdated",
114
+ "type": "event"
115
+ },
116
+ {
117
+ "anonymous": false,
118
+ "inputs": [
119
+ {
120
+ "indexed": true,
121
+ "internalType": "uint256",
122
+ "name": "projectId",
123
+ "type": "uint256"
124
+ },
125
+ {
126
+ "indexed": true,
127
+ "internalType": "address",
128
+ "name": "coreContract",
129
+ "type": "address"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "uint256",
134
+ "name": "slotIndex",
135
+ "type": "uint256"
136
+ },
137
+ {
138
+ "indexed": false,
139
+ "internalType": "uint256",
140
+ "name": "bidId",
141
+ "type": "uint256"
142
+ },
143
+ {
144
+ "indexed": false,
145
+ "internalType": "address",
146
+ "name": "bidder",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "BidCreated",
151
+ "type": "event"
152
+ },
153
+ {
154
+ "anonymous": false,
155
+ "inputs": [
156
+ {
157
+ "indexed": true,
158
+ "internalType": "uint256",
159
+ "name": "projectId",
160
+ "type": "uint256"
161
+ },
162
+ {
163
+ "indexed": true,
164
+ "internalType": "address",
165
+ "name": "coreContract",
166
+ "type": "address"
167
+ },
168
+ {
169
+ "indexed": false,
170
+ "internalType": "uint256",
171
+ "name": "bidId",
172
+ "type": "uint256"
173
+ },
174
+ {
175
+ "indexed": false,
176
+ "internalType": "uint256",
177
+ "name": "tokenId",
178
+ "type": "uint256"
179
+ }
180
+ ],
181
+ "name": "BidMinted",
182
+ "type": "event"
183
+ },
184
+ {
185
+ "anonymous": false,
186
+ "inputs": [
187
+ {
188
+ "indexed": true,
189
+ "internalType": "uint256",
190
+ "name": "projectId",
191
+ "type": "uint256"
192
+ },
193
+ {
194
+ "indexed": true,
195
+ "internalType": "address",
196
+ "name": "coreContract",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint256",
202
+ "name": "bidId",
203
+ "type": "uint256"
204
+ }
205
+ ],
206
+ "name": "BidRefunded",
207
+ "type": "event"
208
+ },
209
+ {
210
+ "anonymous": false,
211
+ "inputs": [
212
+ {
213
+ "indexed": true,
214
+ "internalType": "uint256",
215
+ "name": "projectId",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "coreContract",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "indexed": false,
226
+ "internalType": "uint256",
227
+ "name": "bidId",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "name": "BidRemoved",
232
+ "type": "event"
233
+ },
234
+ {
235
+ "anonymous": false,
236
+ "inputs": [
237
+ {
238
+ "indexed": true,
239
+ "internalType": "uint256",
240
+ "name": "projectId",
241
+ "type": "uint256"
242
+ },
243
+ {
244
+ "indexed": true,
245
+ "internalType": "address",
246
+ "name": "coreContract",
247
+ "type": "address"
248
+ },
249
+ {
250
+ "indexed": false,
251
+ "internalType": "uint256",
252
+ "name": "bidId",
253
+ "type": "uint256"
254
+ }
255
+ ],
256
+ "name": "BidSettled",
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": "uint256",
277
+ "name": "bidId",
278
+ "type": "uint256"
279
+ },
280
+ {
281
+ "indexed": false,
282
+ "internalType": "uint256",
283
+ "name": "newSlotIndex",
284
+ "type": "uint256"
285
+ }
286
+ ],
287
+ "name": "BidToppedUp",
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": "bool",
314
+ "name": "value",
315
+ "type": "bool"
316
+ }
317
+ ],
318
+ "name": "ConfigValueSet",
319
+ "type": "event"
320
+ },
321
+ {
322
+ "anonymous": false,
323
+ "inputs": [
324
+ {
325
+ "indexed": true,
326
+ "internalType": "address",
327
+ "name": "coreContract",
328
+ "type": "address"
329
+ },
330
+ {
331
+ "indexed": false,
332
+ "internalType": "enum RAMLib.AdminMintingConstraint",
333
+ "name": "adminMintingConstraint",
334
+ "type": "uint8"
335
+ }
336
+ ],
337
+ "name": "ContractConfigUpdated",
338
+ "type": "event"
339
+ },
340
+ {
341
+ "anonymous": false,
342
+ "inputs": [
343
+ {
344
+ "indexed": false,
345
+ "internalType": "uint256",
346
+ "name": "minAuctionDurationSeconds",
347
+ "type": "uint256"
348
+ }
349
+ ],
350
+ "name": "MinAuctionDurationSecondsUpdated",
351
+ "type": "event"
352
+ },
353
+ {
354
+ "anonymous": false,
355
+ "inputs": [
356
+ {
357
+ "indexed": false,
358
+ "internalType": "uint24",
359
+ "name": "refundGasLimit",
360
+ "type": "uint24"
361
+ }
362
+ ],
363
+ "name": "MinterRefundGasLimitUpdated",
364
+ "type": "event"
365
+ },
366
+ {
367
+ "anonymous": false,
368
+ "inputs": [
369
+ {
370
+ "indexed": false,
371
+ "internalType": "uint256",
372
+ "name": "numSlots",
373
+ "type": "uint256"
374
+ }
375
+ ],
376
+ "name": "NumSlotsUpdated",
377
+ "type": "event"
378
+ },
379
+ {
380
+ "anonymous": false,
381
+ "inputs": [
382
+ {
383
+ "indexed": true,
384
+ "internalType": "uint256",
385
+ "name": "projectId",
386
+ "type": "uint256"
387
+ },
388
+ {
389
+ "indexed": true,
390
+ "internalType": "address",
391
+ "name": "coreContract",
392
+ "type": "address"
393
+ },
394
+ {
395
+ "indexed": false,
396
+ "internalType": "uint256",
397
+ "name": "numTokensInAuction",
398
+ "type": "uint256"
399
+ }
400
+ ],
401
+ "name": "NumTokensInAuctionUpdated",
402
+ "type": "event"
403
+ },
404
+ {
405
+ "anonymous": false,
406
+ "inputs": [
407
+ {
408
+ "indexed": true,
409
+ "internalType": "uint256",
410
+ "name": "projectId",
411
+ "type": "uint256"
412
+ },
413
+ {
414
+ "indexed": true,
415
+ "internalType": "address",
416
+ "name": "coreContract",
417
+ "type": "address"
418
+ },
419
+ {
420
+ "indexed": false,
421
+ "internalType": "uint256",
422
+ "name": "maxInvocations",
423
+ "type": "uint256"
424
+ }
425
+ ],
426
+ "name": "ProjectMaxInvocationsLimitUpdated",
427
+ "type": "event"
428
+ },
429
+ {
430
+ "anonymous": false,
431
+ "inputs": [
432
+ {
433
+ "indexed": true,
434
+ "internalType": "uint256",
435
+ "name": "projectId",
436
+ "type": "uint256"
437
+ },
438
+ {
439
+ "indexed": true,
440
+ "internalType": "address",
441
+ "name": "coreContract",
442
+ "type": "address"
443
+ },
444
+ {
445
+ "indexed": false,
446
+ "internalType": "uint256",
447
+ "name": "tokenId",
448
+ "type": "uint256"
449
+ },
450
+ {
451
+ "indexed": false,
452
+ "internalType": "address",
453
+ "name": "to",
454
+ "type": "address"
455
+ }
456
+ ],
457
+ "name": "TokenPurchased",
458
+ "type": "event"
459
+ },
460
+ {
461
+ "inputs": [],
462
+ "name": "MIN_AUCTION_DURATION_SECONDS",
463
+ "outputs": [
464
+ {
465
+ "internalType": "uint256",
466
+ "name": "",
467
+ "type": "uint256"
468
+ }
469
+ ],
470
+ "stateMutability": "view",
471
+ "type": "function"
472
+ },
473
+ {
474
+ "inputs": [
475
+ {
476
+ "internalType": "uint256",
477
+ "name": "projectId",
478
+ "type": "uint256"
479
+ },
480
+ {
481
+ "internalType": "address",
482
+ "name": "coreContract",
483
+ "type": "address"
484
+ },
485
+ {
486
+ "internalType": "uint8",
487
+ "name": "emergencyHoursToAdd",
488
+ "type": "uint8"
489
+ }
490
+ ],
491
+ "name": "adminAddEmergencyAuctionHours",
492
+ "outputs": [],
493
+ "stateMutability": "nonpayable",
494
+ "type": "function"
495
+ },
496
+ {
497
+ "inputs": [
498
+ {
499
+ "internalType": "uint256",
500
+ "name": "projectId",
501
+ "type": "uint256"
502
+ },
503
+ {
504
+ "internalType": "address",
505
+ "name": "coreContract",
506
+ "type": "address"
507
+ },
508
+ {
509
+ "internalType": "uint24",
510
+ "name": "numTokensToMint",
511
+ "type": "uint24"
512
+ }
513
+ ],
514
+ "name": "adminArtistAutoMintTokensToWinners",
515
+ "outputs": [],
516
+ "stateMutability": "nonpayable",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "projectId",
524
+ "type": "uint256"
525
+ },
526
+ {
527
+ "internalType": "address",
528
+ "name": "coreContract",
529
+ "type": "address"
530
+ },
531
+ {
532
+ "internalType": "uint32[]",
533
+ "name": "bidIds",
534
+ "type": "uint32[]"
535
+ }
536
+ ],
537
+ "name": "adminArtistDirectMintTokensToWinners",
538
+ "outputs": [],
539
+ "stateMutability": "nonpayable",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [
544
+ {
545
+ "internalType": "uint256",
546
+ "name": "projectId",
547
+ "type": "uint256"
548
+ },
549
+ {
550
+ "internalType": "address",
551
+ "name": "coreContract",
552
+ "type": "address"
553
+ },
554
+ {
555
+ "internalType": "uint32[]",
556
+ "name": "bidIds",
557
+ "type": "uint32[]"
558
+ }
559
+ ],
560
+ "name": "adminArtistDirectRefundWinners",
561
+ "outputs": [],
562
+ "stateMutability": "nonpayable",
563
+ "type": "function"
564
+ },
565
+ {
566
+ "inputs": [
567
+ {
568
+ "internalType": "uint256",
569
+ "name": "projectId",
570
+ "type": "uint256"
571
+ },
572
+ {
573
+ "internalType": "address",
574
+ "name": "coreContract",
575
+ "type": "address"
576
+ },
577
+ {
578
+ "internalType": "uint24",
579
+ "name": "numBidsToRefund",
580
+ "type": "uint24"
581
+ }
582
+ ],
583
+ "name": "adminAutoRefundWinners",
584
+ "outputs": [],
585
+ "stateMutability": "nonpayable",
586
+ "type": "function"
587
+ },
588
+ {
589
+ "inputs": [
590
+ {
591
+ "internalType": "uint256",
592
+ "name": "projectId",
593
+ "type": "uint256"
594
+ },
595
+ {
596
+ "internalType": "address",
597
+ "name": "coreContract",
598
+ "type": "address"
599
+ },
600
+ {
601
+ "internalType": "uint32[]",
602
+ "name": "bidIds",
603
+ "type": "uint32[]"
604
+ }
605
+ ],
606
+ "name": "collectSettlements",
607
+ "outputs": [],
608
+ "stateMutability": "nonpayable",
609
+ "type": "function"
610
+ },
611
+ {
612
+ "inputs": [
613
+ {
614
+ "internalType": "address",
615
+ "name": "coreContract",
616
+ "type": "address"
617
+ }
618
+ ],
619
+ "name": "contractConfigurationDetails",
620
+ "outputs": [
621
+ {
622
+ "internalType": "enum RAMLib.AdminMintingConstraint",
623
+ "name": "",
624
+ "type": "uint8"
625
+ }
626
+ ],
627
+ "stateMutability": "view",
628
+ "type": "function"
629
+ },
630
+ {
631
+ "inputs": [
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "projectId",
635
+ "type": "uint256"
636
+ },
637
+ {
638
+ "internalType": "address",
639
+ "name": "coreContract",
640
+ "type": "address"
641
+ },
642
+ {
643
+ "internalType": "uint16",
644
+ "name": "slotIndex",
645
+ "type": "uint16"
646
+ }
647
+ ],
648
+ "name": "createBid",
649
+ "outputs": [],
650
+ "stateMutability": "payable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [
655
+ {
656
+ "internalType": "uint256",
657
+ "name": "projectId",
658
+ "type": "uint256"
659
+ },
660
+ {
661
+ "internalType": "address",
662
+ "name": "coreContract",
663
+ "type": "address"
664
+ }
665
+ ],
666
+ "name": "getAuctionDetails",
667
+ "outputs": [
668
+ {
669
+ "internalType": "uint256",
670
+ "name": "auctionTimestampStart",
671
+ "type": "uint256"
672
+ },
673
+ {
674
+ "internalType": "uint256",
675
+ "name": "auctionTimestampEnd",
676
+ "type": "uint256"
677
+ },
678
+ {
679
+ "internalType": "uint256",
680
+ "name": "basePrice",
681
+ "type": "uint256"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "numTokensInAuction",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "numBids",
691
+ "type": "uint256"
692
+ },
693
+ {
694
+ "internalType": "uint256",
695
+ "name": "numBidsMintedTokens",
696
+ "type": "uint256"
697
+ },
698
+ {
699
+ "internalType": "uint256",
700
+ "name": "numBidsErrorRefunded",
701
+ "type": "uint256"
702
+ },
703
+ {
704
+ "internalType": "uint256",
705
+ "name": "minBidSlotIndex",
706
+ "type": "uint256"
707
+ },
708
+ {
709
+ "internalType": "bool",
710
+ "name": "allowExtraTime",
711
+ "type": "bool"
712
+ },
713
+ {
714
+ "internalType": "bool",
715
+ "name": "adminArtistOnlyMintPeriodIfSellout",
716
+ "type": "bool"
717
+ },
718
+ {
719
+ "internalType": "bool",
720
+ "name": "revenuesCollected",
721
+ "type": "bool"
722
+ },
723
+ {
724
+ "internalType": "enum RAMLib.ProjectMinterStates",
725
+ "name": "projectMinterState",
726
+ "type": "uint8"
727
+ }
728
+ ],
729
+ "stateMutability": "view",
730
+ "type": "function"
731
+ },
732
+ {
733
+ "inputs": [
734
+ {
735
+ "internalType": "uint256",
736
+ "name": "projectId",
737
+ "type": "uint256"
738
+ },
739
+ {
740
+ "internalType": "address",
741
+ "name": "coreContract",
742
+ "type": "address"
743
+ }
744
+ ],
745
+ "name": "getIsErrorE1",
746
+ "outputs": [
747
+ {
748
+ "internalType": "bool",
749
+ "name": "isError",
750
+ "type": "bool"
751
+ },
752
+ {
753
+ "internalType": "uint256",
754
+ "name": "numBidsToRefund",
755
+ "type": "uint256"
756
+ }
757
+ ],
758
+ "stateMutability": "view",
759
+ "type": "function"
760
+ },
761
+ {
762
+ "inputs": [
763
+ {
764
+ "internalType": "uint256",
765
+ "name": "projectId",
766
+ "type": "uint256"
767
+ },
768
+ {
769
+ "internalType": "address",
770
+ "name": "coreContract",
771
+ "type": "address"
772
+ }
773
+ ],
774
+ "name": "getLowestBidValue",
775
+ "outputs": [
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "stateMutability": "view",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "projectId",
790
+ "type": "uint256"
791
+ },
792
+ {
793
+ "internalType": "address",
794
+ "name": "coreContract",
795
+ "type": "address"
796
+ }
797
+ ],
798
+ "name": "getMinimumNextBid",
799
+ "outputs": [
800
+ {
801
+ "internalType": "uint256",
802
+ "name": "minNextBidValueInWei",
803
+ "type": "uint256"
804
+ },
805
+ {
806
+ "internalType": "uint256",
807
+ "name": "minNextBidSlotIndex",
808
+ "type": "uint256"
809
+ }
810
+ ],
811
+ "stateMutability": "view",
812
+ "type": "function"
813
+ },
814
+ {
815
+ "inputs": [
816
+ {
817
+ "internalType": "uint256",
818
+ "name": "projectId",
819
+ "type": "uint256"
820
+ },
821
+ {
822
+ "internalType": "address",
823
+ "name": "coreContract",
824
+ "type": "address"
825
+ }
826
+ ],
827
+ "name": "getPriceInfo",
828
+ "outputs": [
829
+ {
830
+ "internalType": "bool",
831
+ "name": "isConfigured",
832
+ "type": "bool"
833
+ },
834
+ {
835
+ "internalType": "uint256",
836
+ "name": "tokenPriceInWei",
837
+ "type": "uint256"
838
+ },
839
+ {
840
+ "internalType": "string",
841
+ "name": "currencySymbol",
842
+ "type": "string"
843
+ },
844
+ {
845
+ "internalType": "address",
846
+ "name": "currencyAddress",
847
+ "type": "address"
848
+ }
849
+ ],
850
+ "stateMutability": "view",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [
855
+ {
856
+ "internalType": "uint256",
857
+ "name": "projectId",
858
+ "type": "uint256"
859
+ },
860
+ {
861
+ "internalType": "address",
862
+ "name": "coreContract",
863
+ "type": "address"
864
+ }
865
+ ],
866
+ "name": "getProjectBalance",
867
+ "outputs": [
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "",
871
+ "type": "uint256"
872
+ }
873
+ ],
874
+ "stateMutability": "view",
875
+ "type": "function"
876
+ },
877
+ {
878
+ "inputs": [
879
+ {
880
+ "internalType": "address",
881
+ "name": "coreContract",
882
+ "type": "address"
883
+ }
884
+ ],
885
+ "name": "isEngineView",
886
+ "outputs": [
887
+ {
888
+ "internalType": "bool",
889
+ "name": "",
890
+ "type": "bool"
891
+ }
892
+ ],
893
+ "stateMutability": "view",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [
898
+ {
899
+ "internalType": "uint256",
900
+ "name": "projectId",
901
+ "type": "uint256"
902
+ },
903
+ {
904
+ "internalType": "address",
905
+ "name": "coreContract",
906
+ "type": "address"
907
+ },
908
+ {
909
+ "internalType": "uint24",
910
+ "name": "maxInvocations",
911
+ "type": "uint24"
912
+ }
913
+ ],
914
+ "name": "manuallyLimitProjectMaxInvocations",
915
+ "outputs": [],
916
+ "stateMutability": "nonpayable",
917
+ "type": "function"
918
+ },
919
+ {
920
+ "inputs": [
921
+ {
922
+ "internalType": "uint256",
923
+ "name": "projectId",
924
+ "type": "uint256"
925
+ },
926
+ {
927
+ "internalType": "address",
928
+ "name": "coreContract",
929
+ "type": "address"
930
+ }
931
+ ],
932
+ "name": "maxInvocationsProjectConfig",
933
+ "outputs": [
934
+ {
935
+ "components": [
936
+ {
937
+ "internalType": "bool",
938
+ "name": "maxHasBeenInvoked",
939
+ "type": "bool"
940
+ },
941
+ {
942
+ "internalType": "uint24",
943
+ "name": "maxInvocations",
944
+ "type": "uint24"
945
+ }
946
+ ],
947
+ "internalType": "struct MaxInvocationsLib.MaxInvocationsProjectConfig",
948
+ "name": "",
949
+ "type": "tuple"
950
+ }
951
+ ],
952
+ "stateMutability": "view",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [],
957
+ "name": "minterConfigurationDetails",
958
+ "outputs": [
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "minAuctionDurationSeconds",
962
+ "type": "uint256"
963
+ },
964
+ {
965
+ "internalType": "uint256",
966
+ "name": "auctionBufferSeconds",
967
+ "type": "uint256"
968
+ },
969
+ {
970
+ "internalType": "uint256",
971
+ "name": "maxAuctionExtraSeconds",
972
+ "type": "uint256"
973
+ },
974
+ {
975
+ "internalType": "uint256",
976
+ "name": "maxAuctionAdminEmergencyExtensionHours",
977
+ "type": "uint256"
978
+ },
979
+ {
980
+ "internalType": "uint256",
981
+ "name": "adminArtistOnlyMintTimeSeconds",
982
+ "type": "uint256"
983
+ },
984
+ {
985
+ "internalType": "uint24",
986
+ "name": "minterRefundGasLimit",
987
+ "type": "uint24"
988
+ }
989
+ ],
990
+ "stateMutability": "view",
991
+ "type": "function"
992
+ },
993
+ {
994
+ "inputs": [],
995
+ "name": "minterFilterAddress",
996
+ "outputs": [
997
+ {
998
+ "internalType": "address",
999
+ "name": "",
1000
+ "type": "address"
1001
+ }
1002
+ ],
1003
+ "stateMutability": "view",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [],
1008
+ "name": "minterType",
1009
+ "outputs": [
1010
+ {
1011
+ "internalType": "string",
1012
+ "name": "",
1013
+ "type": "string"
1014
+ }
1015
+ ],
1016
+ "stateMutability": "view",
1017
+ "type": "function"
1018
+ },
1019
+ {
1020
+ "inputs": [],
1021
+ "name": "minterVersion",
1022
+ "outputs": [
1023
+ {
1024
+ "internalType": "string",
1025
+ "name": "",
1026
+ "type": "string"
1027
+ }
1028
+ ],
1029
+ "stateMutability": "view",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [
1034
+ {
1035
+ "internalType": "uint256",
1036
+ "name": "projectId",
1037
+ "type": "uint256"
1038
+ },
1039
+ {
1040
+ "internalType": "address",
1041
+ "name": "coreContract",
1042
+ "type": "address"
1043
+ }
1044
+ ],
1045
+ "name": "projectMaxHasBeenInvoked",
1046
+ "outputs": [
1047
+ {
1048
+ "internalType": "bool",
1049
+ "name": "",
1050
+ "type": "bool"
1051
+ }
1052
+ ],
1053
+ "stateMutability": "view",
1054
+ "type": "function"
1055
+ },
1056
+ {
1057
+ "inputs": [
1058
+ {
1059
+ "internalType": "uint256",
1060
+ "name": "projectId",
1061
+ "type": "uint256"
1062
+ },
1063
+ {
1064
+ "internalType": "address",
1065
+ "name": "coreContract",
1066
+ "type": "address"
1067
+ }
1068
+ ],
1069
+ "name": "projectMaxInvocations",
1070
+ "outputs": [
1071
+ {
1072
+ "internalType": "uint256",
1073
+ "name": "",
1074
+ "type": "uint256"
1075
+ }
1076
+ ],
1077
+ "stateMutability": "view",
1078
+ "type": "function"
1079
+ },
1080
+ {
1081
+ "inputs": [
1082
+ {
1083
+ "internalType": "uint256",
1084
+ "name": "projectId",
1085
+ "type": "uint256"
1086
+ },
1087
+ {
1088
+ "internalType": "address",
1089
+ "name": "coreContract",
1090
+ "type": "address"
1091
+ }
1092
+ ],
1093
+ "name": "purchase",
1094
+ "outputs": [
1095
+ {
1096
+ "internalType": "uint256",
1097
+ "name": "tokenId",
1098
+ "type": "uint256"
1099
+ }
1100
+ ],
1101
+ "stateMutability": "payable",
1102
+ "type": "function"
1103
+ },
1104
+ {
1105
+ "inputs": [
1106
+ {
1107
+ "internalType": "address",
1108
+ "name": "to",
1109
+ "type": "address"
1110
+ },
1111
+ {
1112
+ "internalType": "uint256",
1113
+ "name": "projectId",
1114
+ "type": "uint256"
1115
+ },
1116
+ {
1117
+ "internalType": "address",
1118
+ "name": "coreContract",
1119
+ "type": "address"
1120
+ }
1121
+ ],
1122
+ "name": "purchaseTo",
1123
+ "outputs": [
1124
+ {
1125
+ "internalType": "uint256",
1126
+ "name": "tokenId",
1127
+ "type": "uint256"
1128
+ }
1129
+ ],
1130
+ "stateMutability": "payable",
1131
+ "type": "function"
1132
+ },
1133
+ {
1134
+ "inputs": [
1135
+ {
1136
+ "internalType": "uint256",
1137
+ "name": "projectId",
1138
+ "type": "uint256"
1139
+ },
1140
+ {
1141
+ "internalType": "address",
1142
+ "name": "coreContract",
1143
+ "type": "address"
1144
+ },
1145
+ {
1146
+ "internalType": "uint40",
1147
+ "name": "auctionTimestampEnd",
1148
+ "type": "uint40"
1149
+ }
1150
+ ],
1151
+ "name": "reduceAuctionLength",
1152
+ "outputs": [],
1153
+ "stateMutability": "nonpayable",
1154
+ "type": "function"
1155
+ },
1156
+ {
1157
+ "inputs": [
1158
+ {
1159
+ "internalType": "uint256",
1160
+ "name": "projectId",
1161
+ "type": "uint256"
1162
+ },
1163
+ {
1164
+ "internalType": "address",
1165
+ "name": "coreContract",
1166
+ "type": "address"
1167
+ },
1168
+ {
1169
+ "internalType": "uint40",
1170
+ "name": "auctionTimestampStart",
1171
+ "type": "uint40"
1172
+ },
1173
+ {
1174
+ "internalType": "uint40",
1175
+ "name": "auctionTimestampEnd",
1176
+ "type": "uint40"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "basePrice",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "internalType": "bool",
1185
+ "name": "allowExtraTime",
1186
+ "type": "bool"
1187
+ },
1188
+ {
1189
+ "internalType": "bool",
1190
+ "name": "adminArtistOnlyMintPeriodIfSellout",
1191
+ "type": "bool"
1192
+ }
1193
+ ],
1194
+ "name": "setAuctionDetails",
1195
+ "outputs": [],
1196
+ "stateMutability": "nonpayable",
1197
+ "type": "function"
1198
+ },
1199
+ {
1200
+ "inputs": [
1201
+ {
1202
+ "internalType": "address",
1203
+ "name": "coreContract",
1204
+ "type": "address"
1205
+ },
1206
+ {
1207
+ "internalType": "enum RAMLib.AdminMintingConstraint",
1208
+ "name": "adminMintingConstraint",
1209
+ "type": "uint8"
1210
+ }
1211
+ ],
1212
+ "name": "setContractConfig",
1213
+ "outputs": [],
1214
+ "stateMutability": "nonpayable",
1215
+ "type": "function"
1216
+ },
1217
+ {
1218
+ "inputs": [
1219
+ {
1220
+ "internalType": "uint256",
1221
+ "name": "projectId",
1222
+ "type": "uint256"
1223
+ },
1224
+ {
1225
+ "internalType": "address",
1226
+ "name": "coreContract",
1227
+ "type": "address"
1228
+ },
1229
+ {
1230
+ "internalType": "uint16",
1231
+ "name": "slotIndex",
1232
+ "type": "uint16"
1233
+ }
1234
+ ],
1235
+ "name": "slotIndexToBidValue",
1236
+ "outputs": [
1237
+ {
1238
+ "internalType": "uint256",
1239
+ "name": "",
1240
+ "type": "uint256"
1241
+ }
1242
+ ],
1243
+ "stateMutability": "view",
1244
+ "type": "function"
1245
+ },
1246
+ {
1247
+ "inputs": [
1248
+ {
1249
+ "internalType": "uint256",
1250
+ "name": "",
1251
+ "type": "uint256"
1252
+ },
1253
+ {
1254
+ "internalType": "address",
1255
+ "name": "",
1256
+ "type": "address"
1257
+ }
1258
+ ],
1259
+ "name": "syncProjectMaxInvocationsToCore",
1260
+ "outputs": [],
1261
+ "stateMutability": "pure",
1262
+ "type": "function"
1263
+ },
1264
+ {
1265
+ "inputs": [
1266
+ {
1267
+ "internalType": "uint256",
1268
+ "name": "projectId",
1269
+ "type": "uint256"
1270
+ },
1271
+ {
1272
+ "internalType": "address",
1273
+ "name": "coreContract",
1274
+ "type": "address"
1275
+ },
1276
+ {
1277
+ "internalType": "uint32",
1278
+ "name": "bidId",
1279
+ "type": "uint32"
1280
+ },
1281
+ {
1282
+ "internalType": "uint16",
1283
+ "name": "newSlotIndex",
1284
+ "type": "uint16"
1285
+ }
1286
+ ],
1287
+ "name": "topUpBid",
1288
+ "outputs": [],
1289
+ "stateMutability": "payable",
1290
+ "type": "function"
1291
+ },
1292
+ {
1293
+ "inputs": [
1294
+ {
1295
+ "internalType": "uint24",
1296
+ "name": "minterRefundGasLimit",
1297
+ "type": "uint24"
1298
+ }
1299
+ ],
1300
+ "name": "updateRefundGasLimit",
1301
+ "outputs": [],
1302
+ "stateMutability": "nonpayable",
1303
+ "type": "function"
1304
+ },
1305
+ {
1306
+ "inputs": [
1307
+ {
1308
+ "internalType": "uint256",
1309
+ "name": "projectId",
1310
+ "type": "uint256"
1311
+ },
1312
+ {
1313
+ "internalType": "address",
1314
+ "name": "coreContract",
1315
+ "type": "address"
1316
+ },
1317
+ {
1318
+ "internalType": "uint32[]",
1319
+ "name": "bidIds",
1320
+ "type": "uint32[]"
1321
+ }
1322
+ ],
1323
+ "name": "winnerDirectMintTokens",
1324
+ "outputs": [],
1325
+ "stateMutability": "nonpayable",
1326
+ "type": "function"
1327
+ },
1328
+ {
1329
+ "inputs": [
1330
+ {
1331
+ "internalType": "uint256",
1332
+ "name": "projectId",
1333
+ "type": "uint256"
1334
+ },
1335
+ {
1336
+ "internalType": "address",
1337
+ "name": "coreContract",
1338
+ "type": "address"
1339
+ },
1340
+ {
1341
+ "internalType": "uint32[]",
1342
+ "name": "bidIds",
1343
+ "type": "uint32[]"
1344
+ }
1345
+ ],
1346
+ "name": "winnerDirectRefund",
1347
+ "outputs": [],
1348
+ "stateMutability": "nonpayable",
1349
+ "type": "function"
1350
+ },
1351
+ {
1352
+ "inputs": [
1353
+ {
1354
+ "internalType": "uint256",
1355
+ "name": "projectId",
1356
+ "type": "uint256"
1357
+ },
1358
+ {
1359
+ "internalType": "address",
1360
+ "name": "coreContract",
1361
+ "type": "address"
1362
+ }
1363
+ ],
1364
+ "name": "withdrawArtistAndAdminRevenues",
1365
+ "outputs": [],
1366
+ "stateMutability": "nonpayable",
1367
+ "type": "function"
1368
+ }
1369
+ ],
1370
+ "bytecode": "0x60c06040526001805462ffffff19166175301790553480156200002157600080fd5b5060405162005fe938038062005fe9833981016040819052620000449162000144565b60016000556001600160a01b038116608081905260a05260405161025881527f4ef0f5aca00c220a4058c318e0dd5526680003d4e6fceb9ad65087452a8313fa9060200160405180910390a160015460405162ffffff90911681527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a16040805161012c8152610e1060208201527f0c92d75d9ae429e723cd03b00b1498b72fd1a30fd4337bf4cbdf14650599dd38910160405180910390a160405161020081527f93eac00dcf92d1cee4f4605f83f625533396c288555591736b62533e656beaf69060200160405180910390a15062000176565b6000602082840312156200015757600080fd5b81516001600160a01b03811681146200016f57600080fd5b9392505050565b60805160a051615e1c620001cd600039600081816108a8015281816109c801528181610a9901528181610b1201528181610cfe01528181610dde015261103c01526000818161067a0152610f420152615e1c6000f3fe60806040526004361061019e5760003560e01c806241673c146101a357806301000da7146101d6578063014053a014610206578063047fef49146102285780631290b96b1461026057806317e70c3c1461028057806340b790bd146102935780634869f3df146102ca5780634e8d8787146102ea57806363076680146102fd57806365e92cde1461034c57806366133e291461036c578063711ce3911461038c5780637ca340a6146103ac5780637e86d370146103cc5780638f13865e146103ec5780638fe8a90b1461040c5780639a94488a1461042c5780639b7b55851461046e578063a5514c7e14610484578063ae77c237146104a4578063b000e334146104b7578063b9daf3b5146104d7578063bf54d5fb146104f7578063c1b9281e14610517578063cce7c90914610537578063d009cb9d14610557578063d3ddabe61461058c578063d4f6d0e3146105cb578063d8b4e3ba146105f8578063d9bffbce14610618578063d9eb16db14610638578063dd85582f14610668578063e624db9f146106b4578063e9d1e8ac146106d4578063f5a759b71461070b575b600080fd5b3480156101af57600080fd5b506101c36101be366004615165565b61071e565b6040519081526020015b60405180910390f35b3480156101e257600080fd5b506101f66101f13660046151a3565b610754565b60405190151581526020016101cd565b34801561021257600080fd5b506102266102213660046151c0565b61078c565b005b34801561023457600080fd5b5061024861024336600461524b565b6107e2565b6040516101cd9c9b9a99989796959493929190615291565b34801561026c57600080fd5b5061022661027b36600461531f565b610826565b61022661028e366004615165565b610870565b34801561029f57600080fd5b506102b36102ae36600461524b565b610969565b6040805192151583526020830191909152016101cd565b3480156102d657600080fd5b506101c36102e536600461524b565b610982565b6101c36102f8366004615354565b610997565b34801561030957600080fd5b5060015460408051610258815261012c6020820152610e1091810191909152604860608201526203f480608082015262ffffff90911660a082015260c0016101cd565b34801561035857600080fd5b50610226610367366004615396565b6109f9565b34801561037857600080fd5b506102266103873660046153d3565b610a3e565b34801561039857600080fd5b506102266103a73660046151c0565b610a5f565b3480156103b857600080fd5b506102266103c73660046151c0565b610ac3565b3480156103d857600080fd5b506102266103e7366004615413565b610b3c565b3480156103f857600080fd5b506102266104073660046151c0565b610bc5565b34801561041857600080fd5b5061022661042736600461524b565b610c1c565b34801561043857600080fd5b5061044c61044736600461524b565b610c6a565b6040805182511515815260209283015162ffffff1692810192909252016101cd565b34801561047a57600080fd5b506101c361025881565b34801561049057600080fd5b5061022661049f3660046154a6565b610c7c565b6101c36104b236600461524b565b610ccd565b3480156104c357600080fd5b506102266104d23660046154a6565b610d2e565b3480156104e357600080fd5b506102266104f23660046154a6565b610d94565b34801561050357600080fd5b506101c361051236600461524b565b610e08565b34801561052357600080fd5b506102266105323660046151c0565b610e14565b34801561054357600080fd5b506101f661055236600461524b565b610e56565b34801561056357600080fd5b5061057761057236600461524b565b610e62565b604080519283526020830191909152016101cd565b34801561059857600080fd5b506105be60405180604001604052806006815260200165076302e302e360d41b81525081565b6040516101cd919061552b565b3480156105d757600080fd5b506105eb6105e63660046151a3565b610e7a565b6040516101cd919061553e565b34801561060457600080fd5b506101c361061336600461524b565b610e85565b34801561062457600080fd5b5061022661063336600461524b565b610ec1565b34801561064457600080fd5b5061065861065336600461524b565b610f00565b6040516101cd9493929190615558565b34801561067457600080fd5b5061069c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101cd565b3480156106c057600080fd5b506102266106cf366004615592565b610f3d565b3480156106e057600080fd5b506105be6040518060400160405280600b81526020016a04d696e74657252414d56360ac1b81525081565b6102266107193660046155c1565b611004565b60008061072b85856110f0565b60060154600160901b90046001600160581b0316905061074b8184611121565b95945050505050565b600080610760836111b7565b8054909150610100900460ff161561077c575460ff1692915050565b610785836111f0565b9392505050565b6002600054036107b75760405162461bcd60e51b81526004016107ae90615610565b60405180910390fd5b6002600055600180546107d79186918691869186919062ffffff16611366565b505060016000555050565b6000806000806000806000806000806000806107fe8e8e611568565b9b509b509b509b509b509b509b509b509b509b509b509b509295989b509295989b509295989b565b6002600054036108485760405162461bcd60e51b81526004016107ae90615610565b60026000556108588383336116c7565b610866838383610258611711565b5050600160005550565b6002600054036108925760405162461bcd60e51b81526004016107ae90615610565b6002600055604051635845de1f60e01b815230907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635845de1f906108e79087908790600401615647565b602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061565e565b6001600160a01b03161461094e5760405162461bcd60e51b81526004016107ae9061567b565b600154610866908490849084903390349062ffffff16611951565b6000806109768484611c55565b50909590945092505050565b600061098e8383611cc2565b90505b92915050565b60006002600054036109bb5760405162461bcd60e51b81526004016107ae90615610565b60026000556109ec8484847f0000000000000000000000000000000000000000000000000000000000000000611ce2565b6001600055949350505050565b600260005403610a1b5760405162461bcd60e51b81526004016107ae90615610565b6002600055610a338233306332f4966f60e11b611efc565b610866838383611f57565b610a518233306366133e2960e01b611efc565b610a5b828261210e565b5050565b600260005403610a815760405162461bcd60e51b81526004016107ae90615610565b6002600055600180546107d7918691869186918691907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612199565b600260005403610ae55760405162461bcd60e51b81526004016107ae90615610565b6002600055610afe84843330633e51a05360e11b612368565b6001546107d79085908590859085906000907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612199565b600260005403610b5e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610b6e8787336116c7565b610258610b7b86866156bc565b64ffffffffff161015610ba05760405162461bcd60e51b81526004016107ae906156da565b610bb787878787610bb0886123d1565b878761243d565b505060016000555050505050565b600260005403610be75760405162461bcd60e51b81526004016107ae90615610565b6002600055610c0084843330634789c32f60e11b612368565b6001546107d790859085908590859060009062ffffff16611366565b600260005403610c3e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610c5782823330638fe8a90b60e01b612368565b610c61828261278e565b50506001600055565b610c7261511f565b61098e8383612943565b600260005403610c9e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610cb68233306352a8a63f60e11b611efc565b6001546108669084908490849062ffffff16612973565b6000600260005403610cf15760405162461bcd60e51b81526004016107ae90615610565b6002600055610d223384847f0000000000000000000000000000000000000000000000000000000000000000611ce2565b60016000559392505050565b610d398383336116c7565b6000610d458484612b60565b90506000816004811115610d5b57610d5b61527b565b14610d785760405162461bcd60e51b81526004016107ae90615705565b610d83848484612c90565b610d8d8484612d49565b5050505050565b600260005403610db65760405162461bcd60e51b81526004016107ae90615610565b6002600055610dcf8383333063b9daf3b560e01b612368565b600154610866908490849084907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612dca565b600061098e8383612fdf565b600260005403610e365760405162461bcd60e51b81526004016107ae90615610565b60026000556001546107d7908590859085908590339062ffffff16613001565b600061098e83836130e5565b600080610e6f84846131bd565b909590945092505050565b600061099182613357565b600080610e928484613386565b9150506000610ea185856110f0565b60060154600160901b90046001600160581b0316905061074b8183611121565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016107ae565b60008060606000610f11868661341a565b60408051808201909152600381526208aa8960eb1b602082015291989097509095506000945092505050565b610f707f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b613554565b611b588162ffffff161015610fb85760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b60448201526064016107ae565b6001805462ffffff191662ffffff83169081179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a150565b6002600054036110265760405162461bcd60e51b81526004016107ae90615610565b6002600055604051635845de1f60e01b815230907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635845de1f9061107b9088908890600401615647565b602060405180830381865afa158015611098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bc919061565e565b6001600160a01b0316146110e25760405162461bcd60e51b81526004016107ae9061567b565b6107d78484848433346135a9565b60006110fa61382a565b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60006102008261ffff16106111485760405162461bcd60e51b81526004016107ae9061572f565b611155600861020061577b565b6111639061ffff841661577b565b6001600160581b038416901b905061117e600861020061577b565b61118b600861020061577b565b6111999061ffff851661578f565b6111a390836157a3565b6111ad919061577b565b61098e90826157ba565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906112529085906157cd565b600060405180830381855afa9150503d806000811461128d576040519150601f19603f3d011682016040523d82523d6000602084013e611292565b606091505b5091509150816112f25760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016107ae565b805160c08190036113095750600095945050505050565b806101000361131e5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016107ae565b8260006113738888612b60565b905060038160048111156113895761138961527b565b146113a65760405162461bcd60e51b81526004016107ae906157e9565b6000806113b38a8a611c55565b5091509150816113d55760405162461bcd60e51b81526004016107ae9061581e565b808411156113f55760405162461bcd60e51b81526004016107ae90615848565b505050600061140488886110f0565b905060006114118261384e565b90506000805b8481101561151d5760008989838181106114335761143361587f565b90506020020160208101906114489190615895565b63ffffffff166000818152602087905260409020805491925090600160501b90046001600160a01b03168061148f5760405162461bcd60e51b81526004016107ae906158b0565b61149a8260016138b5565b806114ab57506114ab8260026138b5565b156114b857505050611515565b89156114e657336001600160a01b038216146114e65760405162461bcd60e51b81526004016107ae906158d8565b8154611504908f908f908990600160401b900461ffff16878e6138ce565b8461150e81615907565b9550505050505b600101611417565b50808360050160198282829054906101000a900462ffffff166115409190615929565b92506101000a81548162ffffff021916908362ffffff16021790555050505050505050505050565b6000806000806000806000806000806000806115848e8e612b60565b905060006115928f8f6110f0565b90508060060160009054906101000a900464ffffffffff1664ffffffffff169c5080600601600a9054906101000a900464ffffffffff1664ffffffffff169b508060060160129054906101000a90046001600160581b03166001600160581b03169a508060050160109054906101000a900462ffffff1662ffffff1699508060050160139054906101000a900462ffffff1662ffffff1698508060050160169054906101000a900462ffffff1662ffffff1697508060050160199054906101000a900462ffffff1662ffffff1696508060050160009054906101000a900461ffff1661ffff1695508060060160109054906101000a900460ff1694508060060160119054906101000a900460ff16935080600701600f9054906101000a900460ff169250509295989b509295989b509295989b565b6116d2838383613a28565b61170c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016107ae565b505050565b600061171d85856110f0565b9050600161172b8686612b60565b600481111561173c5761173c61527b565b146117595760405162461bcd60e51b81526004016107ae90615945565b6006810154600160781b900460ff16156117b35760405162461bcd60e51b815260206004820152601b60248201527a273790383932bb34b7bab99030b236b4b71032bc3a32b739b4b7b760291b60448201526064016107ae565b6006810154600160281b810464ffffffffff908116600160501b90920416146117ee5760405162461bcd60e51b81526004016107ae90615970565b600681015464ffffffffff600160501b9091048116908416106118505760405162461bcd60e51b815260206004820152601a60248201527909edcd8f240e4cac8eac6ca40c2eac6e8d2dedc40d8cadccee8d60331b60448201526064016107ae565b600681015461186790839064ffffffffff166157ba565b8364ffffffffff161161188c5760405162461bcd60e51b81526004016107ae906156da565b428364ffffffffff16116118d95760405162461bcd60e51b81526020600482015260146024820152734f6e6c792066757475726520656e642074696d6560601b60448201526064016107ae565b600681018054600160281b600160781b031916600160501b64ffffffffff861690810264ffffffffff60281b191691909117600160281b919091021790556040516001600160a01b038516908690600080516020615da7833981519152906119429087906159a3565b60405180910390a35050505050565b600061195d87876110f0565b9050600161196b8888612b60565b600481111561197c5761197c61527b565b146119995760405162461bcd60e51b81526004016107ae90615945565b60068101546000906119bb90600160901b90046001600160581b031687611121565b9050808414611a0c5760405162461bcd60e51b815260206004820152601f60248201527f6d73672e76616c7565206d75737420657175616c20736c6f742076616c75650060448201526064016107ae565b600782018054859190600090611a2c9084906001600160781b03166159b5565b92506101000a8154816001600160781b0302191690836001600160781b031602179055508160050160139054906101000a900462ffffff1662ffffff16600003611a8657611a7a8888613ab1565b611a848888612d49565b505b6005820154600160801b900462ffffff1680611adb5760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399034b71030bab1ba34b7b760611b60448201526064016107ae565b6005830154600160981b900462ffffff168111801590611c3a576000611b03858c8c89613b6c565b9050611b0f8188613d94565b611b545760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206269642076616c756560501b60448201526064016107ae565b6006850154600090600160801b900460ff168015611b9057506006860154611b8d9061012c90600160501b900464ffffffffff166159d5565b42115b90508015611c37576006860154611bcd90611bbc90610e1090600160281b900464ffffffffff166157ba565b611bc861012c426157ba565b613dea565b86600601600a6101000a81548164ffffffffff021916908364ffffffffff1602179055508a6001600160a01b03168c600080516020615da783398151915288600601600a9054906101000a900464ffffffffff16604051611c2e91906159a3565b60405180910390a35b50505b611c49848b8b8b8b6000613e00565b50505050505050505050565b600080600080611c6586866110f0565b90506000611c728261411f565b90506000611c80888861416c565b9050808211955085611c93576000611c9d565b611c9d81836159d5565b945085611cb357611cae82826159d5565b611cb6565b60005b93505050509250925092565b600080611ccf84846141d3565b54610100900462ffffff16949350505050565b600080611cef85856110f0565b90506000611cfd8686612b60565b90506003816004811115611d1357611d1361527b565b1480611d3057506004816004811115611d2e57611d2e61527b565b145b611d705760405162461bcd60e51b81526020600482015260116024820152704f6e6c792073746174652044206f72204560781b60448201526064016107ae565b6000611d7c8787611c55565b9250505060008111611dca5760405162461bcd60e51b815260206004820152601760248201527652656163686564206d617820696e766f636174696f6e7360481b60448201526064016107ae565b50506006810154600160901b90046001600160581b0316348114611e305760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c792073656e642061756374696f6e20726573657276652070726963650060448201526064016107ae565b6040516117cd60e21b81526001600160a01b03851690615f3490611e5e908a908a908a9033906004016159e8565b6020604051808303816000875af1158015611e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea19190615a13565b9250611eae8682876141fb565b846001600160a01b0316867fdfd0b295795ee66148297b0ff929867a78b799aca7c8def4666dfd1110e58070858a604051611eea929190615647565b60405180910390a35050949350505050565b611f08848484846143bc565b611f515760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016107ae565b50505050565b6000611f6384846110f0565b90506001611f718585612b60565b6004811115611f8257611f8261527b565b14611f9f5760405162461bcd60e51b81526004016107ae90615945565b6006810154600160281b810464ffffffffff908116600160501b9092041614611fda5760405162461bcd60e51b81526004016107ae90615970565b6006810154600090611ff7908490600160781b900460ff16615a2c565b905060488160ff16111561204b5760405162461bcd60e51b815260206004820152601b60248201527a09edcd8f240cadacae4cecadcc6f240d0deeae4e640d8e840dac2f602b1b60448201526064016107ae565b600061205c60ff8516610e10615a45565b600684015461207d9161ffff1690600160501b900464ffffffffff16615a63565b60068401805465ffffffffffff60501b1916600160781b60ff86160264ffffffffff60501b191617600160501b64ffffffffff84169081029190911764ffffffffff60281b1916600160281b919091021790556040519091506001600160a01b038616908790600080516020615da7833981519152906120fe9085906159a3565b60405180910390a3505050505050565b8061211761382a565b6001600160a01b03841660009081526001918201602052604090208054909160ff199091169083600281111561214f5761214f61527b565b0217905550816001600160a01b03167f7e87227cdb277003c1fb102daa540277f21bae680e463f9b0022e4726cb59ab08260405161218d919061553e565b60405180910390a25050565b60006121a588886110f0565b905060006121b28261384e565b90508560006121c18b8b612b60565b905060038160048111156121d7576121d761527b565b146121f45760405162461bcd60e51b81526004016107ae906157e9565b6121fd8461411f565b82111561221c5760405162461bcd60e51b81526004016107ae90615a81565b5060005b8181101561235b57600089898381811061223c5761223c61587f565b90506020020160208101906122519190615895565b63ffffffff166000818152602087905260409020805491925090600160501b90046001600160a01b0316806122985760405162461bcd60e51b81526004016107ae906158b0565b6122a38260016138b5565b806122b457506122b48260026138b5565b156122c157505050612353565b89156122ef57336001600160a01b038216146122ef5760405162461bcd60e51b81526004016107ae906158d8565b600587018054600160b01b900462ffffff1690601661230d83615907565b91906101000a81548162ffffff021916908362ffffff1602179055505061234f8e8e888560000160089054906101000a900461ffff1661ffff16878e8e614444565b5050505b600101612220565b5050505050505050505050565b612373858585613a28565b806123855750612385848484846143bc565b610d8d5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c00000060448201526064016107ae565b60006001600160581b038211156124395760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b60648201526084016107ae565b5090565b600061244988886110f0565b905060006124578989612b60565b60048111156124685761246861527b565b146124855760405162461bcd60e51b81526004016107ae90615705565b66b1a2bc2ec50000846001600160581b031610156124e45760405162461bcd60e51b815260206004820152601c60248201527b09edcd8f240c4c2e6ca40e0e4d2c6ca40cee8ca40605c606a408aa8960231b60448201526064016107ae565b428664ffffffffff16116125315760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b60448201526064016107ae565b600061253c88613357565b905060018160028111156125525761255261527b565b036125a957826125a45760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792061646d696e2d617274697374206d696e7420706572696f6400000060448201526064016107ae565b612610565b60028160028111156125bd576125bd61527b565b036126105782156126105760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79206e6f2061646d696e2d617274697374206d696e7420706572696f6460448201526064016107ae565b61261a8989613ab1565b868260060160006101000a81548164ffffffffff021916908364ffffffffff1602179055508582600601600a6101000a81548164ffffffffff021916908364ffffffffff160217905550858260060160056101000a81548164ffffffffff021916908364ffffffffff160217905550848260060160126101000a8154816001600160581b0302191690836001600160581b03160217905550838260060160106101000a81548160ff021916908315150217905550828260060160116101000a81548160ff02191690831515021790555060006126f68a8a612d49565b60058401805461ffff19166102001790556040805164ffffffffff8b811682528a1660208201526001600160581b038916918101919091528615156060820152851515608082015260a081018290529091506001600160a01b038a16908b907ff5182d65d8ff8a191c9e2f9f31fa4757a3e046c58e19c304b66f1766ec3993829060c00160405180910390a350505050505050505050565b600061279a83836110f0565b905060006127a88484612b60565b905060048160048111156127be576127be61527b565b146127fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79207374617465204560a01b60448201526064016107ae565b6007820154600160781b900460ff16156128535760405162461bcd60e51b815260206004820152601a6024820152792932bb32b73ab2b99030b63932b0b23c903bb4ba34323930bbb760311b60448201526064016107ae565b60078201805460ff60781b1916600160781b17905560006128738361384e565b600584015490915060009061289490600160b01b900462ffffff16836157a3565b60078501805491925082916000906128b69084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b031602179055506128e58682876141fb565b6040805177185d58dd1a5bdb94995d995b9d595cd0dbdb1b1958dd195960421b8152600160208201526001600160a01b0387169188917fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d91016120fe565b61294b61511f565b6129558383611cc2565b62ffffff16602082015261296983836130e5565b1515815292915050565b600061297f8585612b60565b905060028160048111156129955761299561527b565b146129b25760405162461bcd60e51b81526004016107ae90615ad8565b6000806129bf8787611c55565b5091509150816129e15760405162461bcd60e51b81526004016107ae9061581e565b808562ffffff161115612a065760405162461bcd60e51b81526004016107ae90615848565b5050506000612a1585856110f0565b90506000612a228261384e565b6005830154600160401b9081900463ffffffff1660008181526020869052604081205493945090929190910461ffff16905b8662ffffff16811015612af45782600003612a8c57600585015461ffff16600081815260028701602052604090205493509150612aa4565b6000928352602085905260409092205463ffffffff16915b82600003612ada57612ac085612abb8460016157ba565b6144b8565b61ffff166000818152600287016020526040902054935091505b612aec8989868561ffff16878b6138ce565b600101612a54565b808560050160198282829054906101000a900462ffffff16612b169190615929565b92506101000a81548162ffffff021916908362ffffff160217905550828560050160086101000a81548163ffffffff021916908363ffffffff160217905550505050505050505050565b600080612b6d84846110f0565b600681015490915064ffffffffff1680158015904283119080612b8d5750805b15612b9f576000945050505050610991565b6006840154600160501b900464ffffffffff1642811080612bc95760019650505050505050610991565b600586015460009062ffffff600160981b8204811691612bfa91600160c81b8204811691600160b01b900416615929565b62ffffff161490508015612c18576004975050505050505050610991565b6006870154600090600160881b900460ff168015612c4f5750600588015462ffffff600160801b82048116600160981b9092041610155b8015612c665750612c636203f480856157ba565b42105b90508015612c7f57600298505050505050505050610991565b5060039a9950505050505050505050565b600080612c9d8585614573565b91509150808362ffffff161115612cc65760405162461bcd60e51b81526004016107ae90615afe565b818362ffffff161015612ceb5760405162461bcd60e51b81526004016107ae90615afe565b6000612cf786866141d3565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b038616908790600080516020615d87833981519152906020016120fe565b600080612d5684846110f0565b9050612d62848461416c565b60058201805462ffffff60801b1916600160801b62ffffff8416021790556040518181529092506001600160a01b0384169085907fe61b855b975f8c5d6051b121797e73a9c4e2b5fce1e570689013b3591427efa89060200160405180910390a35092915050565b6000612dd686866110f0565b90506000612de38261384e565b90506000612df18888612b60565b90506002816004811115612e0757612e0761527b565b14612e245760405162461bcd60e51b81526004016107ae90615ad8565b612e2d8361411f565b8662ffffff161115612e515760405162461bcd60e51b81526004016107ae90615a81565b506005820154600160201b900463ffffffff16600081815260208490526040812054600160401b900461ffff16905b8762ffffff16811015612f725782600003612ebe57600585015462010000900461ffff16600081815260018701602052604090205493509150612f5b565b600092835260208590526040832054600160201b900463ffffffff1692839003612f5b57612ef685612ef16001856159d5565b6145f1565b61ffff1691506102008210612f475760405162461bcd60e51b81526020600482015260176024820152761cdb1bdd081dda5d1a08189a59081b9bdd08199bdd5b99604a1b60448201526064016107ae565b600082815260018601602052604090205492505b612f6a8a8a8685878c8c614444565b600101612e80565b808560050160168282829054906101000a900462ffffff16612f949190615929565b92506101000a81548162ffffff021916908362ffffff160217905550828560050160046101000a81548163ffffffff021916908363ffffffff16021790555050505050505050505050565b600080612fec84846110f0565b600701546001600160781b0316949350505050565b600061300d87876110f0565b9050600061301b8888612b60565b905060028160048111156130315761303161527b565b148061304e5750600381600481111561304c5761304c61527b565b145b61308e5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481cdd185d194810c81bdc8811607a1b60448201526064016107ae565b50600061309a8261384e565b90508460005b81811015611c49576130dd848b8b868c8c878181106130c1576130c161587f565b90506020020160208101906130d69190615895565b8b8b61468d565b6001016130a0565b6000806130f28484612b60565b905060008160048111156131085761310861527b565b0361315957600061311985856110f0565b600681015490915064ffffffffff1615613146576005810154600160801b900462ffffff16159250613153565b6131508585614760565b92505b506131b6565b600181600481111561316d5761316d61527b565b036131a357600061317e85856110f0565b6005015462ffffff600160801b82048116600160981b90920416101592506131b69050565b60006131af8585611c55565b1594505050505b5092915050565b60008060006131cc8585612b60565b905060006131da86866110f0565b905060008260048111156131f0576131f061527b565b0361326a57600681015464ffffffffff161515806132495760405162461bcd60e51b8152602060048201526016602482015275185d58dd1a5bdb881b9bdd0818dbdb999a59dd5c995960521b60448201526064016107ae565b506006810154600160901b90046001600160581b031693506000925061334e565b600581015462ffffff600160801b82048116600160981b909204161015600183600481111561329b5761329b61527b565b036132e95780156132c95760058201546132bc908890889061ffff16614779565b955061ffff16935061334c565b6006820154600160901b90046001600160581b031694506000935061334c565b80156133305760405162461bcd60e51b8152602060048201526016602482015275185d58dd1a5bdb88195b9919590b081cd95b1b1bdd5d60521b60448201526064016107ae565b6006820154600160901b90046001600160581b03169450600093505b505b50509250929050565b600061336161382a565b6001600160a01b03909216600090815260019290920160205250604090205460ff1690565b600080600061339585856110f0565b6005810154909150600160981b900462ffffff166133ea5760405162461bcd60e51b81526020600482015260126024820152712737903134b2399034b71030bab1ba34b7b760711b60448201526064016107ae565b600581015461ffff1660008181526002830160209081526040808320548352939052919091209590945092505050565b60008060006134298585612b60565b9050600061343786866110f0565b9050600082600481111561344d5761344d61527b565b0361348457600681015464ffffffffff16158015945061347f576006810154600160901b90046001600160581b031692505b61334e565b60058101546001945062ffffff600160801b82048116600160981b909204161015848360048111156134b8576134b861527b565b036134fe5780156134e25760058201546134d9908890889061ffff16614779565b945061334c9050565b6006820154600160901b90046001600160581b0316935061334c565b8015613533576006820154600583015461352c91600160901b90046001600160581b03169061ffff16611121565b935061334c565b50600601549295600160901b9093046001600160581b031694509192505050565b613560848484846143bc565b611f515760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b60448201526064016107ae565b60006135b587876110f0565b63ffffffff86166000908152602082905260409020805491925090600160401b900461ffff1660016135e78a8a612b60565b60048111156135f8576135f861527b565b146136155760405162461bcd60e51b81526004016107ae90615945565b8154600160501b90046001600160a01b03166136705760405162461bcd60e51b815260206004820152601a60248201527942696420646e65202d207765726520796f75206f75746269643f60301b60448201526064016107ae565b81546001600160a01b03868116600160501b90920416146136d15760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e48189a5919195c881bd988195e1a5cdd1a5b99c8189a59602a1b60448201526064016107ae565b60068301546000906136f390600160901b90046001600160581b031683611121565b905060006137188560060160129054906101000a90046001600160581b031689611121565b90508061372587846157ba565b1461376a5760405162461bcd60e51b8152602060048201526015602482015274696e636f72726563742061646465642076616c756560581b60448201526064016107ae565b505060078301805485919060009061378c9084906001600160781b03166159b5565b92506101000a8154816001600160781b0302191690836001600160781b031602179055506137c183828963ffffffff166147dc565b6137cf838a8a89898c613e00565b6040805163ffffffff8916815261ffff881660208201526001600160a01b038a16918b917fbcc60406b6a319d70c3feea7347029fbdfd768eecb981b0d2f6735b1e9633c5e91015b60405180910390a3505050505050505050565b7fa3fe13710cb596cbb938328f55db0dd5473d105cbcbbac73fbdbd94800043ab490565b600581015460009062ffffff600160801b82048116600160981b9092041610158061388d576006830154600160901b90046001600160581b0316610785565b6006830154600584015461078591600160901b90046001600160581b03169061ffff16611121565b815460009061098e90600160f01b900460ff1683614963565b60006138da87876110f0565b6000848152602082905260408120805492935091600160501b90046001600160a01b031690879061390b84826138b5565b6139425761391c8460006001614972565b50600684015460019061393f90600160901b90046001600160581b031689611121565b91505b61394f8460026001614972565b60078501805483919060009061396f9084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b0316021790555061399e8383886149ce565b80156139d757896001600160a01b03168b600080516020615dc7833981519152896040516139ce91815260200190565b60405180910390a35b896001600160a01b03168b7fa59312996dc68b7f0224b341fed75d5afeb3bb20624107d37942d14f5942815689604051613a1391815260200190565b60405180910390a35050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015613a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a94919061565e565b6001600160a01b0316826001600160a01b03161490509392505050565b6000613abd83836141d3565b9050613ac98383614a03565b15613ad85761170c8383614a36565b600080613ae58585614573565b84549193509150610100900462ffffff1681811115613b5157835483831463ffffffff1990911661010062ffffff85160260ff1916171784556040518281526001600160a01b038616908790600080516020615d878339815191529060200160405180910390a3613b64565b808310613b6457835460ff191660011784555b505050505050565b600584015461ffff16600081815260028601602052604081205490919080613bc05760405162461bcd60e51b81526020600482015260076024820152664e6f206269647360c81b60448201526064016107ae565b600081815260208881526040808320805461ffff8716855260028c01909352922063ffffffff82169081905560058a018054600160501b9093046001600160a01b031692600160981b900462ffffff16906013613c1c83615b2f565b91906101000a81548162ffffff021916908362ffffff160217905550508063ffffffff16600003613c945761ffff8516600081815260018c016020526040812055613c68908b90614ab0565b613c778a612abb876001615b4e565b60058b01805461ffff191661ffff92909216919091179055613cb8565b63ffffffff8116600090815260208b905260409020805463ffffffff60201b191690555b60068a0154613cd790600160901b90046001600160581b031686611121565b60078b0180549197508791600090613cf99084906001600160781b0316615ab8565b82546001600160781b039182166101009390930a928302919092021990911617905550600084815260208b90526040902080546001600160f81b0319169055613d438287896149ce565b876001600160a01b0316897f9d1a4511ddb5e2e227897ca79bbe1d71a9af123cd7c7bde8d2bcb292243310c986604051613d7f91815260200190565b60405180910390a35050505050949350505050565b60006706f05b59d3b20000831115613dc857612710613db58461280a6157a3565b613dbf919061577b565b82119050610991565b612710613dd7846129046157a3565b613de1919061577b565b90911192915050565b6000818310613df9578161098e565b5090919050565b63ffffffff8116158015613e4d57600587018054600c90613e2d90600160601b900463ffffffff16615b69565b91906101000a81548163ffffffff021916908363ffffffff160217905591505b60008760020160008661ffff1681526020019081526020016000205490506040518060a001604052808263ffffffff168152602001600063ffffffff1681526020018661ffff168152602001856001600160a01b03168152602001600060ff168152508860000160008563ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548161ffff021916908361ffff160217905550606082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550608082015181600001601e6101000a81548160ff021916908360ff1602179055509050508263ffffffff168860020160008761ffff1681526020019081526020016000208190555080600003613fdc5761ffff85166000908152600189016020526040902063ffffffff84169055614007565b6000818152602089905260409020805463ffffffff60201b1916600160201b63ffffffff8616021790555b600588018054600160981b900462ffffff1690601361402583615907565b91906101000a81548162ffffff021916908362ffffff16021790555050806000036140b557614058888661ffff16614b0b565b600588015461ffff90811690861610156140805760058801805461ffff191661ffff87161790555b600588015461ffff62010000909104811690861611156140b55760058801805463ffff000019166201000061ffff8816021790555b8115614115576040805161ffff8716815263ffffffff851660208201526001600160a01b038681168284015291519188169189917fd278a5272d5c4a1fbd78fd96e1dc404c29b3e6fc9a525421b777de714354f5a5919081900360600190a35b5050505050505050565b60058101546000906141469062ffffff600160c81b8204811691600160b01b900416615929565b60058301546141619190600160981b900462ffffff16615b82565b62ffffff1692915050565b600080600061417b8585614573565b91509150600061418b86866141d3565b80549091506000906141a8908490610100900462ffffff16613dea565b90508084106141be576000945050505050610991565b6141c884826159d5565b979650505050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee6110fa565b8160000361420857505050565b600061421382614b5a565b905060008060008060008060008088156142b157604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015614274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142989190615b9e565b969e50949c50929a509098509650945092509050614331565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa1580156142fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143219190615c26565b949c50929a509096509450925090505b8a828561433e898c6157ba565b61434891906157ba565b61435291906157ba565b1461439e5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016107ae565b6143ae86868a8a88888888614ba8565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015614420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b9190615c8f565b600061445088886110f0565b600085815260208290526040902090915061446d81600180614972565b805461448f908a908a908890600160501b90046001600160a01b031688614e4a565b61449a8160006138b5565b6144ad576144ad828a8a89898c89614f0a565b505050505050505050565b6000806101ff8361ffff1611156144e15760405162461bcd60e51b81526004016107ae90615cac565b600060ff8461ffff1611156145165760048501546144ff9085614ffa565b9250905061450f610100826157ba565b9050614551565b60038501546145259085614ffa565b925090508161455157600485015461453e906000614ffa565b9250905061454e610100826157ba565b90505b816145625761020092505050610991565b91506109919050565b505092915050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156145bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145e19190615ce2565b5093989297509195505050505050565b6000806101ff8361ffff16111561461a5760405162461bcd60e51b81526004016107ae90615cac565b60006101008461ffff1610156146425760038501546146399085615060565b92509050614551565b60048501546146519085615060565b92509050614661610100826157ba565b9050816145515760038501546146789060ff615060565b92509050816145625761020092505050610991565b63ffffffff8316600090815260208890526040902080546001600160a01b03848116600160501b90920416146146f35760405162461bcd60e51b815260206004820152600b60248201526a27b7363c903134b23232b960a91b60448201526064016107ae565b6146fe8160006138b5565b156147415760405162461bcd60e51b815260206004820152601360248201527213db9b1e481d5b8b5cd95d1d1b195908189a59606a1b60448201526064016107ae565b805461411590899089908990600160401b900461ffff16888a88614f0a565b60008061476d84846141d3565b5460ff16949350505050565b600080600061478886866110f0565b6006810154909150600160901b90046001600160581b031660006147ac8287611121565b9050855b6001016147bd8382611121565b94506147c98286613d94565b156147b057989397509295505050505050565b60008181526020849052604081208054909163ffffffff80831692600160201b9004169082900361482a5761ffff85166000908152600187016020526040902063ffffffff8216905561485e565b63ffffffff80831660009081526020889052604090208054918316600160201b0263ffffffff60201b199092169190911790555b8063ffffffff1660000361488f5761ffff85166000908152600287016020526040902063ffffffff831690556148b8565b63ffffffff8181166000908152602088905260409020805463ffffffff19169184169190911790555b600586018054600160981b900462ffffff169060136148d683615b2f565b91906101000a81548162ffffff021916908362ffffff160217905550508163ffffffff16600014801561490d575063ffffffff8116155b15613b6457614920868661ffff16614ab0565b600586015461ffff808716911603613b645761494186612abb876001615b4e565b60058701805461ffff9290921661ffff19909216919091179055505050505050565b600160ff919091161b16151590565b80156149af578254600160ff8481169190911b600160f01b90920416175b835460ff91909116600160f01b0260ff60f01b19909116178355505050565b825461499090600160f01b900460ff1683600160ff919091161b191690565b600080600080858786f161170c57826000526073600b5360ff6020536016600b83f061170c57620f42405a1161170c57600080fd5b600080614a1084846141d3565b8054909150610100900462ffffff16158015614a2e5750805460ff16155b949350505050565b600080614a438484614573565b915091506000614a5385856141d3565b9050614a5e826150bb565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b038516908690600080516020615d87833981519152906119429086815260200190565b6102008110614ad15760405162461bcd60e51b81526004016107ae9061572f565b610100811015614af3576003820154600160ff83161b19165b60038301555050565b6004820154600160ff83161b19165b60048301555050565b6102008110614b2c5760405162461bcd60e51b81526004016107ae9061572f565b610100811015614b48576003820154600160ff83161b17614aea565b6004820154600160ff83161b17614b02565b600080614b66836111b7565b8054909150610100900460ff1615614b82575460ff1692915050565b6000614b8d846111f0565b825481151561ffff1990911617610100179092555092915050565b8715614c53576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114614bfb576040519150601f19603f3d011682016040523d82523d6000602084013e614c00565b606091505b5050905080614c515760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016107ae565b505b8515614cfe576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114614ca6576040519150601f19603f3d011682016040523d82523d6000602084013e614cab565b606091505b5050905080614cfc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016107ae565b505b8315614da1576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114614d51576040519150601f19603f3d011682016040523d82523d6000602084013e614d56565b606091505b5050905080614d9f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016107ae565b505b8115614115576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114614df4576040519150601f19603f3d011682016040523d82523d6000602084013e614df9565b606091505b50509050806144ad5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016107ae565b6040516117cd60e21b81526000906001600160a01b03831690615f3490614e7b9086908a908a9033906004016159e8565b6020604051808303816000875af1158015614e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ebe9190615a13565b6040805163ffffffff87168152602081018390529192506001600160a01b0387169188917f3c81bf6062ef45a4f3a4407699b008e79d9310eb22ba240838820f37535a928591016120fe565b63ffffffff8316600090815260208890526040812090614f2d9082906001614972565b600083614f518a60060160129054906101000a90046001600160581b031688611121565b614f5b91906159d5565b90508015614fc957600789018054829190600090614f839084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b03160217905550614fc982600001600a9054906101000a90046001600160a01b031682856149ce565b60405163ffffffff861681526001600160a01b038816908990600080516020615dc783398151915290602001613817565b6000808260ff1684901c600003615017575060ff90506000615059565b8260ff1691505b60ff8210801561503557506150338483614963565b155b1561504c578161504481615d3d565b92505061501e565b6150568483614963565b90505b9250929050565b60008061506e8360ff615d56565b60ff1684901b60000361508657506000905080615059565b8260ff1691505b6000821180156150a457506150a28483614963565b155b1561504c57816150b381615d6f565b92505061508d565b600062ffffff8211156124395760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016107ae565b604080518082019091526000808252602082015290565b6001600160a01b038116811461514b57600080fd5b50565b803561ffff8116811461516057600080fd5b919050565b60008060006060848603121561517a57600080fd5b83359250602084013561518c81615136565b915061519a6040850161514e565b90509250925092565b6000602082840312156151b557600080fd5b813561078581615136565b600080600080606085870312156151d657600080fd5b8435935060208501356151e881615136565b925060408501356001600160401b038082111561520457600080fd5b818701915087601f83011261521857600080fd5b81358181111561522757600080fd5b8860208260051b850101111561523c57600080fd5b95989497505060200194505050565b6000806040838503121561525e57600080fd5b82359150602083013561527081615136565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6000610180820190508d82528c60208301528b60408301528a60608301528960808301528860a08301528760c08301528660e0830152851515610100830152841515610120830152831515610140830152600583106152f2576152f261527b565b826101608301529d9c50505050505050505050505050565b803564ffffffffff8116811461516057600080fd5b60008060006060848603121561533457600080fd5b83359250602084013561534681615136565b915061519a6040850161530a565b60008060006060848603121561536957600080fd5b833561537481615136565b925060208401359150604084013561538b81615136565b809150509250925092565b6000806000606084860312156153ab57600080fd5b8335925060208401356153bd81615136565b9150604084013560ff8116811461538b57600080fd5b600080604083850312156153e657600080fd5b82356153f181615136565b915060208301356003811061527057600080fd5b801515811461514b57600080fd5b600080600080600080600060e0888a03121561542e57600080fd5b87359650602088013561544081615136565b955061544e6040890161530a565b945061545c6060890161530a565b93506080880135925060a088013561547381615405565b915060c088013561548381615405565b8091505092959891949750929550565b803562ffffff8116811461516057600080fd5b6000806000606084860312156154bb57600080fd5b8335925060208401356154cd81615136565b915061519a60408501615493565b60005b838110156154f65781810151838201526020016154de565b50506000910152565b600081518084526155178160208601602086016154db565b601f01601f19169290920160200192915050565b60208152600061098e60208301846154ff565b60208101600383106155525761555261527b565b91905290565b841515815283602082015260806040820152600061557960808301856154ff565b905060018060a01b038316606083015295945050505050565b6000602082840312156155a457600080fd5b61098e82615493565b803563ffffffff8116811461516057600080fd5b600080600080608085870312156155d757600080fd5b8435935060208501356155e981615136565b92506155f7604086016155ad565b91506156056060860161514e565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b9182526001600160a01b0316602082015260400190565b60006020828403121561567057600080fd5b815161078581615136565b6020808252601190820152704d696e746572206e6f742061637469766560781b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b64ffffffffff8281168282160390808211156131b6576131b66156a6565b602080825260119082015270105d58dd1a5bdb881d1bdbc81cda1bdc9d607a1b604082015260600190565b60208082526010908201526f27b7363c9038393296b0bab1ba34b7b760811b604082015260600190565b6020808252601c908201527b4f6e6c7920736c6f7420696e646578206c74204e554d5f534c4f545360201b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60008261578a5761578a615765565b500490565b60008261579e5761579e615765565b500690565b8082028115828204841417610991576109916156a6565b80820180821115610991576109916156a6565b600082516157df8184602087016154db565b9190910192915050565b6020808252601b908201527a13db9b1e481c1bdcdd0b585d58dd1a5bdb881bdc195b881b5a5b9d602a1b604082015260600190565b60208082526010908201526f4f6e6c7920696e20737461746520453160801b604082015260600190565b6020808252601f908201527f6269647320746f20726566756e6420677420617661696c61626c652071747900604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156158a757600080fd5b61098e826155ad565b6020808252600e908201526d1a5b9d985b1a5908109a5908125160921b604082015260600190565b60208082526015908201527427b7363c9039b2b73232b91034b9903134b23232b960591b604082015260600190565b600062ffffff80831681810361591f5761591f6156a6565b6001019392505050565b62ffffff8181168382160190808211156131b6576131b66156a6565b60208082526011908201527027b7363c903634bb329030bab1ba34b7b760791b604082015260600190565b6020808252601990820152784e6f7420616c6c6f77656420696e2065787472612074696d6560381b604082015260600190565b64ffffffffff91909116815260200190565b6001600160781b038181168382160190808211156131b6576131b66156a6565b81810381811115610991576109916156a6565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b600060208284031215615a2557600080fd5b5051919050565b60ff8181168382160190811115610991576109916156a6565b61ffff81811683821602808216919082811461456b5761456b6156a6565b64ffffffffff8181168382160190808211156131b6576131b66156a6565b6020808252601d908201527f746f6b656e7320746f206d696e7420677420746f6b656e73206f776564000000604082015260600190565b6001600160781b038281168282160390808211156131b6576131b66156a6565b6020808252600c908201526b4f6e6c79207374617465204360a01b604082015260600190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600062ffffff821680615b4457615b446156a6565b6000190192915050565b61ffff8181168382160190808211156131b6576131b66156a6565b600063ffffffff80831681810361591f5761591f6156a6565b62ffffff8281168282160390808211156131b6576131b66156a6565b600080600080600080600080610100898b031215615bbb57600080fd5b885197506020890151615bcd81615136565b60408a015160608b01519198509650615be581615136565b60808a015160a08b01519196509450615bfd81615136565b60c08a015160e08b01519194509250615c1581615136565b809150509295985092959890939650565b60008060008060008060c08789031215615c3f57600080fd5b865195506020870151615c5181615136565b604088015160608901519196509450615c6981615136565b608088015160a08901519194509250615c8181615136565b809150509295509295509295565b600060208284031215615ca157600080fd5b815161078581615405565b6020808252601c908201527b27b7363c9039ba30b93a1039b637ba1034b73232bc10363a101a989960211b604082015260600190565b60008060008060008060c08789031215615cfb57600080fd5b86519550602087015194506040870151615d1481615405565b6060880151909450615d2581615405565b608088015160a08901519194509250615c8181615405565b600060018201615d4f57615d4f6156a6565b5060010190565b60ff8281168282160390811115610991576109916156a6565b600081615d7e57615d7e6156a6565b50600019019056fe1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237520e05d2a73ab549525f701daae4d8ac1897891bb1afca813602709aafc7a830e152fe384870d25a8d821270b8b8043fada748f138ab7f8512af64c65c726136a264697066735822122098d2fc1c8f56ca40bdba8aedef236899c9c86c954b70b306f2684efd15b8f7e764736f6c63430008160033",
1371
+ "deployedBytecode": "0x60806040526004361061019e5760003560e01c806241673c146101a357806301000da7146101d6578063014053a014610206578063047fef49146102285780631290b96b1461026057806317e70c3c1461028057806340b790bd146102935780634869f3df146102ca5780634e8d8787146102ea57806363076680146102fd57806365e92cde1461034c57806366133e291461036c578063711ce3911461038c5780637ca340a6146103ac5780637e86d370146103cc5780638f13865e146103ec5780638fe8a90b1461040c5780639a94488a1461042c5780639b7b55851461046e578063a5514c7e14610484578063ae77c237146104a4578063b000e334146104b7578063b9daf3b5146104d7578063bf54d5fb146104f7578063c1b9281e14610517578063cce7c90914610537578063d009cb9d14610557578063d3ddabe61461058c578063d4f6d0e3146105cb578063d8b4e3ba146105f8578063d9bffbce14610618578063d9eb16db14610638578063dd85582f14610668578063e624db9f146106b4578063e9d1e8ac146106d4578063f5a759b71461070b575b600080fd5b3480156101af57600080fd5b506101c36101be366004615165565b61071e565b6040519081526020015b60405180910390f35b3480156101e257600080fd5b506101f66101f13660046151a3565b610754565b60405190151581526020016101cd565b34801561021257600080fd5b506102266102213660046151c0565b61078c565b005b34801561023457600080fd5b5061024861024336600461524b565b6107e2565b6040516101cd9c9b9a99989796959493929190615291565b34801561026c57600080fd5b5061022661027b36600461531f565b610826565b61022661028e366004615165565b610870565b34801561029f57600080fd5b506102b36102ae36600461524b565b610969565b6040805192151583526020830191909152016101cd565b3480156102d657600080fd5b506101c36102e536600461524b565b610982565b6101c36102f8366004615354565b610997565b34801561030957600080fd5b5060015460408051610258815261012c6020820152610e1091810191909152604860608201526203f480608082015262ffffff90911660a082015260c0016101cd565b34801561035857600080fd5b50610226610367366004615396565b6109f9565b34801561037857600080fd5b506102266103873660046153d3565b610a3e565b34801561039857600080fd5b506102266103a73660046151c0565b610a5f565b3480156103b857600080fd5b506102266103c73660046151c0565b610ac3565b3480156103d857600080fd5b506102266103e7366004615413565b610b3c565b3480156103f857600080fd5b506102266104073660046151c0565b610bc5565b34801561041857600080fd5b5061022661042736600461524b565b610c1c565b34801561043857600080fd5b5061044c61044736600461524b565b610c6a565b6040805182511515815260209283015162ffffff1692810192909252016101cd565b34801561047a57600080fd5b506101c361025881565b34801561049057600080fd5b5061022661049f3660046154a6565b610c7c565b6101c36104b236600461524b565b610ccd565b3480156104c357600080fd5b506102266104d23660046154a6565b610d2e565b3480156104e357600080fd5b506102266104f23660046154a6565b610d94565b34801561050357600080fd5b506101c361051236600461524b565b610e08565b34801561052357600080fd5b506102266105323660046151c0565b610e14565b34801561054357600080fd5b506101f661055236600461524b565b610e56565b34801561056357600080fd5b5061057761057236600461524b565b610e62565b604080519283526020830191909152016101cd565b34801561059857600080fd5b506105be60405180604001604052806006815260200165076302e302e360d41b81525081565b6040516101cd919061552b565b3480156105d757600080fd5b506105eb6105e63660046151a3565b610e7a565b6040516101cd919061553e565b34801561060457600080fd5b506101c361061336600461524b565b610e85565b34801561062457600080fd5b5061022661063336600461524b565b610ec1565b34801561064457600080fd5b5061065861065336600461524b565b610f00565b6040516101cd9493929190615558565b34801561067457600080fd5b5061069c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101cd565b3480156106c057600080fd5b506102266106cf366004615592565b610f3d565b3480156106e057600080fd5b506105be6040518060400160405280600b81526020016a04d696e74657252414d56360ac1b81525081565b6102266107193660046155c1565b611004565b60008061072b85856110f0565b60060154600160901b90046001600160581b0316905061074b8184611121565b95945050505050565b600080610760836111b7565b8054909150610100900460ff161561077c575460ff1692915050565b610785836111f0565b9392505050565b6002600054036107b75760405162461bcd60e51b81526004016107ae90615610565b60405180910390fd5b6002600055600180546107d79186918691869186919062ffffff16611366565b505060016000555050565b6000806000806000806000806000806000806107fe8e8e611568565b9b509b509b509b509b509b509b509b509b509b509b509b509295989b509295989b509295989b565b6002600054036108485760405162461bcd60e51b81526004016107ae90615610565b60026000556108588383336116c7565b610866838383610258611711565b5050600160005550565b6002600054036108925760405162461bcd60e51b81526004016107ae90615610565b6002600055604051635845de1f60e01b815230907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635845de1f906108e79087908790600401615647565b602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610928919061565e565b6001600160a01b03161461094e5760405162461bcd60e51b81526004016107ae9061567b565b600154610866908490849084903390349062ffffff16611951565b6000806109768484611c55565b50909590945092505050565b600061098e8383611cc2565b90505b92915050565b60006002600054036109bb5760405162461bcd60e51b81526004016107ae90615610565b60026000556109ec8484847f0000000000000000000000000000000000000000000000000000000000000000611ce2565b6001600055949350505050565b600260005403610a1b5760405162461bcd60e51b81526004016107ae90615610565b6002600055610a338233306332f4966f60e11b611efc565b610866838383611f57565b610a518233306366133e2960e01b611efc565b610a5b828261210e565b5050565b600260005403610a815760405162461bcd60e51b81526004016107ae90615610565b6002600055600180546107d7918691869186918691907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612199565b600260005403610ae55760405162461bcd60e51b81526004016107ae90615610565b6002600055610afe84843330633e51a05360e11b612368565b6001546107d79085908590859085906000907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612199565b600260005403610b5e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610b6e8787336116c7565b610258610b7b86866156bc565b64ffffffffff161015610ba05760405162461bcd60e51b81526004016107ae906156da565b610bb787878787610bb0886123d1565b878761243d565b505060016000555050505050565b600260005403610be75760405162461bcd60e51b81526004016107ae90615610565b6002600055610c0084843330634789c32f60e11b612368565b6001546107d790859085908590859060009062ffffff16611366565b600260005403610c3e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610c5782823330638fe8a90b60e01b612368565b610c61828261278e565b50506001600055565b610c7261511f565b61098e8383612943565b600260005403610c9e5760405162461bcd60e51b81526004016107ae90615610565b6002600055610cb68233306352a8a63f60e11b611efc565b6001546108669084908490849062ffffff16612973565b6000600260005403610cf15760405162461bcd60e51b81526004016107ae90615610565b6002600055610d223384847f0000000000000000000000000000000000000000000000000000000000000000611ce2565b60016000559392505050565b610d398383336116c7565b6000610d458484612b60565b90506000816004811115610d5b57610d5b61527b565b14610d785760405162461bcd60e51b81526004016107ae90615705565b610d83848484612c90565b610d8d8484612d49565b5050505050565b600260005403610db65760405162461bcd60e51b81526004016107ae90615610565b6002600055610dcf8383333063b9daf3b560e01b612368565b600154610866908490849084907f00000000000000000000000000000000000000000000000000000000000000009062ffffff16612dca565b600061098e8383612fdf565b600260005403610e365760405162461bcd60e51b81526004016107ae90615610565b60026000556001546107d7908590859085908590339062ffffff16613001565b600061098e83836130e5565b600080610e6f84846131bd565b909590945092505050565b600061099182613357565b600080610e928484613386565b9150506000610ea185856110f0565b60060154600160901b90046001600160581b0316905061074b8183611121565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016107ae565b60008060606000610f11868661341a565b60408051808201909152600381526208aa8960eb1b602082015291989097509095506000945092505050565b610f707f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b613554565b611b588162ffffff161015610fb85760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b60448201526064016107ae565b6001805462ffffff191662ffffff83169081179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a150565b6002600054036110265760405162461bcd60e51b81526004016107ae90615610565b6002600055604051635845de1f60e01b815230907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635845de1f9061107b9088908890600401615647565b602060405180830381865afa158015611098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bc919061565e565b6001600160a01b0316146110e25760405162461bcd60e51b81526004016107ae9061567b565b6107d78484848433346135a9565b60006110fa61382a565b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60006102008261ffff16106111485760405162461bcd60e51b81526004016107ae9061572f565b611155600861020061577b565b6111639061ffff841661577b565b6001600160581b038416901b905061117e600861020061577b565b61118b600861020061577b565b6111999061ffff851661578f565b6111a390836157a3565b6111ad919061577b565b61098e90826157ba565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906112529085906157cd565b600060405180830381855afa9150503d806000811461128d576040519150601f19603f3d011682016040523d82523d6000602084013e611292565b606091505b5091509150816112f25760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016107ae565b805160c08190036113095750600095945050505050565b806101000361131e5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016107ae565b8260006113738888612b60565b905060038160048111156113895761138961527b565b146113a65760405162461bcd60e51b81526004016107ae906157e9565b6000806113b38a8a611c55565b5091509150816113d55760405162461bcd60e51b81526004016107ae9061581e565b808411156113f55760405162461bcd60e51b81526004016107ae90615848565b505050600061140488886110f0565b905060006114118261384e565b90506000805b8481101561151d5760008989838181106114335761143361587f565b90506020020160208101906114489190615895565b63ffffffff166000818152602087905260409020805491925090600160501b90046001600160a01b03168061148f5760405162461bcd60e51b81526004016107ae906158b0565b61149a8260016138b5565b806114ab57506114ab8260026138b5565b156114b857505050611515565b89156114e657336001600160a01b038216146114e65760405162461bcd60e51b81526004016107ae906158d8565b8154611504908f908f908990600160401b900461ffff16878e6138ce565b8461150e81615907565b9550505050505b600101611417565b50808360050160198282829054906101000a900462ffffff166115409190615929565b92506101000a81548162ffffff021916908362ffffff16021790555050505050505050505050565b6000806000806000806000806000806000806115848e8e612b60565b905060006115928f8f6110f0565b90508060060160009054906101000a900464ffffffffff1664ffffffffff169c5080600601600a9054906101000a900464ffffffffff1664ffffffffff169b508060060160129054906101000a90046001600160581b03166001600160581b03169a508060050160109054906101000a900462ffffff1662ffffff1699508060050160139054906101000a900462ffffff1662ffffff1698508060050160169054906101000a900462ffffff1662ffffff1697508060050160199054906101000a900462ffffff1662ffffff1696508060050160009054906101000a900461ffff1661ffff1695508060060160109054906101000a900460ff1694508060060160119054906101000a900460ff16935080600701600f9054906101000a900460ff169250509295989b509295989b509295989b565b6116d2838383613a28565b61170c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016107ae565b505050565b600061171d85856110f0565b9050600161172b8686612b60565b600481111561173c5761173c61527b565b146117595760405162461bcd60e51b81526004016107ae90615945565b6006810154600160781b900460ff16156117b35760405162461bcd60e51b815260206004820152601b60248201527a273790383932bb34b7bab99030b236b4b71032bc3a32b739b4b7b760291b60448201526064016107ae565b6006810154600160281b810464ffffffffff908116600160501b90920416146117ee5760405162461bcd60e51b81526004016107ae90615970565b600681015464ffffffffff600160501b9091048116908416106118505760405162461bcd60e51b815260206004820152601a60248201527909edcd8f240e4cac8eac6ca40c2eac6e8d2dedc40d8cadccee8d60331b60448201526064016107ae565b600681015461186790839064ffffffffff166157ba565b8364ffffffffff161161188c5760405162461bcd60e51b81526004016107ae906156da565b428364ffffffffff16116118d95760405162461bcd60e51b81526020600482015260146024820152734f6e6c792066757475726520656e642074696d6560601b60448201526064016107ae565b600681018054600160281b600160781b031916600160501b64ffffffffff861690810264ffffffffff60281b191691909117600160281b919091021790556040516001600160a01b038516908690600080516020615da7833981519152906119429087906159a3565b60405180910390a35050505050565b600061195d87876110f0565b9050600161196b8888612b60565b600481111561197c5761197c61527b565b146119995760405162461bcd60e51b81526004016107ae90615945565b60068101546000906119bb90600160901b90046001600160581b031687611121565b9050808414611a0c5760405162461bcd60e51b815260206004820152601f60248201527f6d73672e76616c7565206d75737420657175616c20736c6f742076616c75650060448201526064016107ae565b600782018054859190600090611a2c9084906001600160781b03166159b5565b92506101000a8154816001600160781b0302191690836001600160781b031602179055508160050160139054906101000a900462ffffff1662ffffff16600003611a8657611a7a8888613ab1565b611a848888612d49565b505b6005820154600160801b900462ffffff1680611adb5760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399034b71030bab1ba34b7b760611b60448201526064016107ae565b6005830154600160981b900462ffffff168111801590611c3a576000611b03858c8c89613b6c565b9050611b0f8188613d94565b611b545760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206269642076616c756560501b60448201526064016107ae565b6006850154600090600160801b900460ff168015611b9057506006860154611b8d9061012c90600160501b900464ffffffffff166159d5565b42115b90508015611c37576006860154611bcd90611bbc90610e1090600160281b900464ffffffffff166157ba565b611bc861012c426157ba565b613dea565b86600601600a6101000a81548164ffffffffff021916908364ffffffffff1602179055508a6001600160a01b03168c600080516020615da783398151915288600601600a9054906101000a900464ffffffffff16604051611c2e91906159a3565b60405180910390a35b50505b611c49848b8b8b8b6000613e00565b50505050505050505050565b600080600080611c6586866110f0565b90506000611c728261411f565b90506000611c80888861416c565b9050808211955085611c93576000611c9d565b611c9d81836159d5565b945085611cb357611cae82826159d5565b611cb6565b60005b93505050509250925092565b600080611ccf84846141d3565b54610100900462ffffff16949350505050565b600080611cef85856110f0565b90506000611cfd8686612b60565b90506003816004811115611d1357611d1361527b565b1480611d3057506004816004811115611d2e57611d2e61527b565b145b611d705760405162461bcd60e51b81526020600482015260116024820152704f6e6c792073746174652044206f72204560781b60448201526064016107ae565b6000611d7c8787611c55565b9250505060008111611dca5760405162461bcd60e51b815260206004820152601760248201527652656163686564206d617820696e766f636174696f6e7360481b60448201526064016107ae565b50506006810154600160901b90046001600160581b0316348114611e305760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c792073656e642061756374696f6e20726573657276652070726963650060448201526064016107ae565b6040516117cd60e21b81526001600160a01b03851690615f3490611e5e908a908a908a9033906004016159e8565b6020604051808303816000875af1158015611e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea19190615a13565b9250611eae8682876141fb565b846001600160a01b0316867fdfd0b295795ee66148297b0ff929867a78b799aca7c8def4666dfd1110e58070858a604051611eea929190615647565b60405180910390a35050949350505050565b611f08848484846143bc565b611f515760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016107ae565b50505050565b6000611f6384846110f0565b90506001611f718585612b60565b6004811115611f8257611f8261527b565b14611f9f5760405162461bcd60e51b81526004016107ae90615945565b6006810154600160281b810464ffffffffff908116600160501b9092041614611fda5760405162461bcd60e51b81526004016107ae90615970565b6006810154600090611ff7908490600160781b900460ff16615a2c565b905060488160ff16111561204b5760405162461bcd60e51b815260206004820152601b60248201527a09edcd8f240cadacae4cecadcc6f240d0deeae4e640d8e840dac2f602b1b60448201526064016107ae565b600061205c60ff8516610e10615a45565b600684015461207d9161ffff1690600160501b900464ffffffffff16615a63565b60068401805465ffffffffffff60501b1916600160781b60ff86160264ffffffffff60501b191617600160501b64ffffffffff84169081029190911764ffffffffff60281b1916600160281b919091021790556040519091506001600160a01b038616908790600080516020615da7833981519152906120fe9085906159a3565b60405180910390a3505050505050565b8061211761382a565b6001600160a01b03841660009081526001918201602052604090208054909160ff199091169083600281111561214f5761214f61527b565b0217905550816001600160a01b03167f7e87227cdb277003c1fb102daa540277f21bae680e463f9b0022e4726cb59ab08260405161218d919061553e565b60405180910390a25050565b60006121a588886110f0565b905060006121b28261384e565b90508560006121c18b8b612b60565b905060038160048111156121d7576121d761527b565b146121f45760405162461bcd60e51b81526004016107ae906157e9565b6121fd8461411f565b82111561221c5760405162461bcd60e51b81526004016107ae90615a81565b5060005b8181101561235b57600089898381811061223c5761223c61587f565b90506020020160208101906122519190615895565b63ffffffff166000818152602087905260409020805491925090600160501b90046001600160a01b0316806122985760405162461bcd60e51b81526004016107ae906158b0565b6122a38260016138b5565b806122b457506122b48260026138b5565b156122c157505050612353565b89156122ef57336001600160a01b038216146122ef5760405162461bcd60e51b81526004016107ae906158d8565b600587018054600160b01b900462ffffff1690601661230d83615907565b91906101000a81548162ffffff021916908362ffffff1602179055505061234f8e8e888560000160089054906101000a900461ffff1661ffff16878e8e614444565b5050505b600101612220565b5050505050505050505050565b612373858585613a28565b806123855750612385848484846143bc565b610d8d5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c00000060448201526064016107ae565b60006001600160581b038211156124395760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b60648201526084016107ae565b5090565b600061244988886110f0565b905060006124578989612b60565b60048111156124685761246861527b565b146124855760405162461bcd60e51b81526004016107ae90615705565b66b1a2bc2ec50000846001600160581b031610156124e45760405162461bcd60e51b815260206004820152601c60248201527b09edcd8f240c4c2e6ca40e0e4d2c6ca40cee8ca40605c606a408aa8960231b60448201526064016107ae565b428664ffffffffff16116125315760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b60448201526064016107ae565b600061253c88613357565b905060018160028111156125525761255261527b565b036125a957826125a45760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792061646d696e2d617274697374206d696e7420706572696f6400000060448201526064016107ae565b612610565b60028160028111156125bd576125bd61527b565b036126105782156126105760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79206e6f2061646d696e2d617274697374206d696e7420706572696f6460448201526064016107ae565b61261a8989613ab1565b868260060160006101000a81548164ffffffffff021916908364ffffffffff1602179055508582600601600a6101000a81548164ffffffffff021916908364ffffffffff160217905550858260060160056101000a81548164ffffffffff021916908364ffffffffff160217905550848260060160126101000a8154816001600160581b0302191690836001600160581b03160217905550838260060160106101000a81548160ff021916908315150217905550828260060160116101000a81548160ff02191690831515021790555060006126f68a8a612d49565b60058401805461ffff19166102001790556040805164ffffffffff8b811682528a1660208201526001600160581b038916918101919091528615156060820152851515608082015260a081018290529091506001600160a01b038a16908b907ff5182d65d8ff8a191c9e2f9f31fa4757a3e046c58e19c304b66f1766ec3993829060c00160405180910390a350505050505050505050565b600061279a83836110f0565b905060006127a88484612b60565b905060048160048111156127be576127be61527b565b146127fa5760405162461bcd60e51b815260206004820152600c60248201526b4f6e6c79207374617465204560a01b60448201526064016107ae565b6007820154600160781b900460ff16156128535760405162461bcd60e51b815260206004820152601a6024820152792932bb32b73ab2b99030b63932b0b23c903bb4ba34323930bbb760311b60448201526064016107ae565b60078201805460ff60781b1916600160781b17905560006128738361384e565b600584015490915060009061289490600160b01b900462ffffff16836157a3565b60078501805491925082916000906128b69084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b031602179055506128e58682876141fb565b6040805177185d58dd1a5bdb94995d995b9d595cd0dbdb1b1958dd195960421b8152600160208201526001600160a01b0387169188917fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d91016120fe565b61294b61511f565b6129558383611cc2565b62ffffff16602082015261296983836130e5565b1515815292915050565b600061297f8585612b60565b905060028160048111156129955761299561527b565b146129b25760405162461bcd60e51b81526004016107ae90615ad8565b6000806129bf8787611c55565b5091509150816129e15760405162461bcd60e51b81526004016107ae9061581e565b808562ffffff161115612a065760405162461bcd60e51b81526004016107ae90615848565b5050506000612a1585856110f0565b90506000612a228261384e565b6005830154600160401b9081900463ffffffff1660008181526020869052604081205493945090929190910461ffff16905b8662ffffff16811015612af45782600003612a8c57600585015461ffff16600081815260028701602052604090205493509150612aa4565b6000928352602085905260409092205463ffffffff16915b82600003612ada57612ac085612abb8460016157ba565b6144b8565b61ffff166000818152600287016020526040902054935091505b612aec8989868561ffff16878b6138ce565b600101612a54565b808560050160198282829054906101000a900462ffffff16612b169190615929565b92506101000a81548162ffffff021916908362ffffff160217905550828560050160086101000a81548163ffffffff021916908363ffffffff160217905550505050505050505050565b600080612b6d84846110f0565b600681015490915064ffffffffff1680158015904283119080612b8d5750805b15612b9f576000945050505050610991565b6006840154600160501b900464ffffffffff1642811080612bc95760019650505050505050610991565b600586015460009062ffffff600160981b8204811691612bfa91600160c81b8204811691600160b01b900416615929565b62ffffff161490508015612c18576004975050505050505050610991565b6006870154600090600160881b900460ff168015612c4f5750600588015462ffffff600160801b82048116600160981b9092041610155b8015612c665750612c636203f480856157ba565b42105b90508015612c7f57600298505050505050505050610991565b5060039a9950505050505050505050565b600080612c9d8585614573565b91509150808362ffffff161115612cc65760405162461bcd60e51b81526004016107ae90615afe565b818362ffffff161015612ceb5760405162461bcd60e51b81526004016107ae90615afe565b6000612cf786866141d3565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b038616908790600080516020615d87833981519152906020016120fe565b600080612d5684846110f0565b9050612d62848461416c565b60058201805462ffffff60801b1916600160801b62ffffff8416021790556040518181529092506001600160a01b0384169085907fe61b855b975f8c5d6051b121797e73a9c4e2b5fce1e570689013b3591427efa89060200160405180910390a35092915050565b6000612dd686866110f0565b90506000612de38261384e565b90506000612df18888612b60565b90506002816004811115612e0757612e0761527b565b14612e245760405162461bcd60e51b81526004016107ae90615ad8565b612e2d8361411f565b8662ffffff161115612e515760405162461bcd60e51b81526004016107ae90615a81565b506005820154600160201b900463ffffffff16600081815260208490526040812054600160401b900461ffff16905b8762ffffff16811015612f725782600003612ebe57600585015462010000900461ffff16600081815260018701602052604090205493509150612f5b565b600092835260208590526040832054600160201b900463ffffffff1692839003612f5b57612ef685612ef16001856159d5565b6145f1565b61ffff1691506102008210612f475760405162461bcd60e51b81526020600482015260176024820152761cdb1bdd081dda5d1a08189a59081b9bdd08199bdd5b99604a1b60448201526064016107ae565b600082815260018601602052604090205492505b612f6a8a8a8685878c8c614444565b600101612e80565b808560050160168282829054906101000a900462ffffff16612f949190615929565b92506101000a81548162ffffff021916908362ffffff160217905550828560050160046101000a81548163ffffffff021916908363ffffffff16021790555050505050505050505050565b600080612fec84846110f0565b600701546001600160781b0316949350505050565b600061300d87876110f0565b9050600061301b8888612b60565b905060028160048111156130315761303161527b565b148061304e5750600381600481111561304c5761304c61527b565b145b61308e5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481cdd185d194810c81bdc8811607a1b60448201526064016107ae565b50600061309a8261384e565b90508460005b81811015611c49576130dd848b8b868c8c878181106130c1576130c161587f565b90506020020160208101906130d69190615895565b8b8b61468d565b6001016130a0565b6000806130f28484612b60565b905060008160048111156131085761310861527b565b0361315957600061311985856110f0565b600681015490915064ffffffffff1615613146576005810154600160801b900462ffffff16159250613153565b6131508585614760565b92505b506131b6565b600181600481111561316d5761316d61527b565b036131a357600061317e85856110f0565b6005015462ffffff600160801b82048116600160981b90920416101592506131b69050565b60006131af8585611c55565b1594505050505b5092915050565b60008060006131cc8585612b60565b905060006131da86866110f0565b905060008260048111156131f0576131f061527b565b0361326a57600681015464ffffffffff161515806132495760405162461bcd60e51b8152602060048201526016602482015275185d58dd1a5bdb881b9bdd0818dbdb999a59dd5c995960521b60448201526064016107ae565b506006810154600160901b90046001600160581b031693506000925061334e565b600581015462ffffff600160801b82048116600160981b909204161015600183600481111561329b5761329b61527b565b036132e95780156132c95760058201546132bc908890889061ffff16614779565b955061ffff16935061334c565b6006820154600160901b90046001600160581b031694506000935061334c565b80156133305760405162461bcd60e51b8152602060048201526016602482015275185d58dd1a5bdb88195b9919590b081cd95b1b1bdd5d60521b60448201526064016107ae565b6006820154600160901b90046001600160581b03169450600093505b505b50509250929050565b600061336161382a565b6001600160a01b03909216600090815260019290920160205250604090205460ff1690565b600080600061339585856110f0565b6005810154909150600160981b900462ffffff166133ea5760405162461bcd60e51b81526020600482015260126024820152712737903134b2399034b71030bab1ba34b7b760711b60448201526064016107ae565b600581015461ffff1660008181526002830160209081526040808320548352939052919091209590945092505050565b60008060006134298585612b60565b9050600061343786866110f0565b9050600082600481111561344d5761344d61527b565b0361348457600681015464ffffffffff16158015945061347f576006810154600160901b90046001600160581b031692505b61334e565b60058101546001945062ffffff600160801b82048116600160981b909204161015848360048111156134b8576134b861527b565b036134fe5780156134e25760058201546134d9908890889061ffff16614779565b945061334c9050565b6006820154600160901b90046001600160581b0316935061334c565b8015613533576006820154600583015461352c91600160901b90046001600160581b03169061ffff16611121565b935061334c565b50600601549295600160901b9093046001600160581b031694509192505050565b613560848484846143bc565b611f515760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b60448201526064016107ae565b60006135b587876110f0565b63ffffffff86166000908152602082905260409020805491925090600160401b900461ffff1660016135e78a8a612b60565b60048111156135f8576135f861527b565b146136155760405162461bcd60e51b81526004016107ae90615945565b8154600160501b90046001600160a01b03166136705760405162461bcd60e51b815260206004820152601a60248201527942696420646e65202d207765726520796f75206f75746269643f60301b60448201526064016107ae565b81546001600160a01b03868116600160501b90920416146136d15760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e48189a5919195c881bd988195e1a5cdd1a5b99c8189a59602a1b60448201526064016107ae565b60068301546000906136f390600160901b90046001600160581b031683611121565b905060006137188560060160129054906101000a90046001600160581b031689611121565b90508061372587846157ba565b1461376a5760405162461bcd60e51b8152602060048201526015602482015274696e636f72726563742061646465642076616c756560581b60448201526064016107ae565b505060078301805485919060009061378c9084906001600160781b03166159b5565b92506101000a8154816001600160781b0302191690836001600160781b031602179055506137c183828963ffffffff166147dc565b6137cf838a8a89898c613e00565b6040805163ffffffff8916815261ffff881660208201526001600160a01b038a16918b917fbcc60406b6a319d70c3feea7347029fbdfd768eecb981b0d2f6735b1e9633c5e91015b60405180910390a3505050505050505050565b7fa3fe13710cb596cbb938328f55db0dd5473d105cbcbbac73fbdbd94800043ab490565b600581015460009062ffffff600160801b82048116600160981b9092041610158061388d576006830154600160901b90046001600160581b0316610785565b6006830154600584015461078591600160901b90046001600160581b03169061ffff16611121565b815460009061098e90600160f01b900460ff1683614963565b60006138da87876110f0565b6000848152602082905260408120805492935091600160501b90046001600160a01b031690879061390b84826138b5565b6139425761391c8460006001614972565b50600684015460019061393f90600160901b90046001600160581b031689611121565b91505b61394f8460026001614972565b60078501805483919060009061396f9084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b0316021790555061399e8383886149ce565b80156139d757896001600160a01b03168b600080516020615dc7833981519152896040516139ce91815260200190565b60405180910390a35b896001600160a01b03168b7fa59312996dc68b7f0224b341fed75d5afeb3bb20624107d37942d14f5942815689604051613a1391815260200190565b60405180910390a35050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015613a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a94919061565e565b6001600160a01b0316826001600160a01b03161490509392505050565b6000613abd83836141d3565b9050613ac98383614a03565b15613ad85761170c8383614a36565b600080613ae58585614573565b84549193509150610100900462ffffff1681811115613b5157835483831463ffffffff1990911661010062ffffff85160260ff1916171784556040518281526001600160a01b038616908790600080516020615d878339815191529060200160405180910390a3613b64565b808310613b6457835460ff191660011784555b505050505050565b600584015461ffff16600081815260028601602052604081205490919080613bc05760405162461bcd60e51b81526020600482015260076024820152664e6f206269647360c81b60448201526064016107ae565b600081815260208881526040808320805461ffff8716855260028c01909352922063ffffffff82169081905560058a018054600160501b9093046001600160a01b031692600160981b900462ffffff16906013613c1c83615b2f565b91906101000a81548162ffffff021916908362ffffff160217905550508063ffffffff16600003613c945761ffff8516600081815260018c016020526040812055613c68908b90614ab0565b613c778a612abb876001615b4e565b60058b01805461ffff191661ffff92909216919091179055613cb8565b63ffffffff8116600090815260208b905260409020805463ffffffff60201b191690555b60068a0154613cd790600160901b90046001600160581b031686611121565b60078b0180549197508791600090613cf99084906001600160781b0316615ab8565b82546001600160781b039182166101009390930a928302919092021990911617905550600084815260208b90526040902080546001600160f81b0319169055613d438287896149ce565b876001600160a01b0316897f9d1a4511ddb5e2e227897ca79bbe1d71a9af123cd7c7bde8d2bcb292243310c986604051613d7f91815260200190565b60405180910390a35050505050949350505050565b60006706f05b59d3b20000831115613dc857612710613db58461280a6157a3565b613dbf919061577b565b82119050610991565b612710613dd7846129046157a3565b613de1919061577b565b90911192915050565b6000818310613df9578161098e565b5090919050565b63ffffffff8116158015613e4d57600587018054600c90613e2d90600160601b900463ffffffff16615b69565b91906101000a81548163ffffffff021916908363ffffffff160217905591505b60008760020160008661ffff1681526020019081526020016000205490506040518060a001604052808263ffffffff168152602001600063ffffffff1681526020018661ffff168152602001856001600160a01b03168152602001600060ff168152508860000160008563ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548161ffff021916908361ffff160217905550606082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550608082015181600001601e6101000a81548160ff021916908360ff1602179055509050508263ffffffff168860020160008761ffff1681526020019081526020016000208190555080600003613fdc5761ffff85166000908152600189016020526040902063ffffffff84169055614007565b6000818152602089905260409020805463ffffffff60201b1916600160201b63ffffffff8616021790555b600588018054600160981b900462ffffff1690601361402583615907565b91906101000a81548162ffffff021916908362ffffff16021790555050806000036140b557614058888661ffff16614b0b565b600588015461ffff90811690861610156140805760058801805461ffff191661ffff87161790555b600588015461ffff62010000909104811690861611156140b55760058801805463ffff000019166201000061ffff8816021790555b8115614115576040805161ffff8716815263ffffffff851660208201526001600160a01b038681168284015291519188169189917fd278a5272d5c4a1fbd78fd96e1dc404c29b3e6fc9a525421b777de714354f5a5919081900360600190a35b5050505050505050565b60058101546000906141469062ffffff600160c81b8204811691600160b01b900416615929565b60058301546141619190600160981b900462ffffff16615b82565b62ffffff1692915050565b600080600061417b8585614573565b91509150600061418b86866141d3565b80549091506000906141a8908490610100900462ffffff16613dea565b90508084106141be576000945050505050610991565b6141c884826159d5565b979650505050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee6110fa565b8160000361420857505050565b600061421382614b5a565b905060008060008060008060008088156142b157604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015614274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142989190615b9e565b969e50949c50929a509098509650945092509050614331565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa1580156142fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143219190615c26565b949c50929a509096509450925090505b8a828561433e898c6157ba565b61434891906157ba565b61435291906157ba565b1461439e5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016107ae565b6143ae86868a8a88888888614ba8565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015614420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b9190615c8f565b600061445088886110f0565b600085815260208290526040902090915061446d81600180614972565b805461448f908a908a908890600160501b90046001600160a01b031688614e4a565b61449a8160006138b5565b6144ad576144ad828a8a89898c89614f0a565b505050505050505050565b6000806101ff8361ffff1611156144e15760405162461bcd60e51b81526004016107ae90615cac565b600060ff8461ffff1611156145165760048501546144ff9085614ffa565b9250905061450f610100826157ba565b9050614551565b60038501546145259085614ffa565b925090508161455157600485015461453e906000614ffa565b9250905061454e610100826157ba565b90505b816145625761020092505050610991565b91506109919050565b505092915050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156145bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145e19190615ce2565b5093989297509195505050505050565b6000806101ff8361ffff16111561461a5760405162461bcd60e51b81526004016107ae90615cac565b60006101008461ffff1610156146425760038501546146399085615060565b92509050614551565b60048501546146519085615060565b92509050614661610100826157ba565b9050816145515760038501546146789060ff615060565b92509050816145625761020092505050610991565b63ffffffff8316600090815260208890526040902080546001600160a01b03848116600160501b90920416146146f35760405162461bcd60e51b815260206004820152600b60248201526a27b7363c903134b23232b960a91b60448201526064016107ae565b6146fe8160006138b5565b156147415760405162461bcd60e51b815260206004820152601360248201527213db9b1e481d5b8b5cd95d1d1b195908189a59606a1b60448201526064016107ae565b805461411590899089908990600160401b900461ffff16888a88614f0a565b60008061476d84846141d3565b5460ff16949350505050565b600080600061478886866110f0565b6006810154909150600160901b90046001600160581b031660006147ac8287611121565b9050855b6001016147bd8382611121565b94506147c98286613d94565b156147b057989397509295505050505050565b60008181526020849052604081208054909163ffffffff80831692600160201b9004169082900361482a5761ffff85166000908152600187016020526040902063ffffffff8216905561485e565b63ffffffff80831660009081526020889052604090208054918316600160201b0263ffffffff60201b199092169190911790555b8063ffffffff1660000361488f5761ffff85166000908152600287016020526040902063ffffffff831690556148b8565b63ffffffff8181166000908152602088905260409020805463ffffffff19169184169190911790555b600586018054600160981b900462ffffff169060136148d683615b2f565b91906101000a81548162ffffff021916908362ffffff160217905550508163ffffffff16600014801561490d575063ffffffff8116155b15613b6457614920868661ffff16614ab0565b600586015461ffff808716911603613b645761494186612abb876001615b4e565b60058701805461ffff9290921661ffff19909216919091179055505050505050565b600160ff919091161b16151590565b80156149af578254600160ff8481169190911b600160f01b90920416175b835460ff91909116600160f01b0260ff60f01b19909116178355505050565b825461499090600160f01b900460ff1683600160ff919091161b191690565b600080600080858786f161170c57826000526073600b5360ff6020536016600b83f061170c57620f42405a1161170c57600080fd5b600080614a1084846141d3565b8054909150610100900462ffffff16158015614a2e5750805460ff16155b949350505050565b600080614a438484614573565b915091506000614a5385856141d3565b9050614a5e826150bb565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b038516908690600080516020615d87833981519152906119429086815260200190565b6102008110614ad15760405162461bcd60e51b81526004016107ae9061572f565b610100811015614af3576003820154600160ff83161b19165b60038301555050565b6004820154600160ff83161b19165b60048301555050565b6102008110614b2c5760405162461bcd60e51b81526004016107ae9061572f565b610100811015614b48576003820154600160ff83161b17614aea565b6004820154600160ff83161b17614b02565b600080614b66836111b7565b8054909150610100900460ff1615614b82575460ff1692915050565b6000614b8d846111f0565b825481151561ffff1990911617610100179092555092915050565b8715614c53576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114614bfb576040519150601f19603f3d011682016040523d82523d6000602084013e614c00565b606091505b5050905080614c515760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016107ae565b505b8515614cfe576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114614ca6576040519150601f19603f3d011682016040523d82523d6000602084013e614cab565b606091505b5050905080614cfc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016107ae565b505b8315614da1576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114614d51576040519150601f19603f3d011682016040523d82523d6000602084013e614d56565b606091505b5050905080614d9f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016107ae565b505b8115614115576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114614df4576040519150601f19603f3d011682016040523d82523d6000602084013e614df9565b606091505b50509050806144ad5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016107ae565b6040516117cd60e21b81526000906001600160a01b03831690615f3490614e7b9086908a908a9033906004016159e8565b6020604051808303816000875af1158015614e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ebe9190615a13565b6040805163ffffffff87168152602081018390529192506001600160a01b0387169188917f3c81bf6062ef45a4f3a4407699b008e79d9310eb22ba240838820f37535a928591016120fe565b63ffffffff8316600090815260208890526040812090614f2d9082906001614972565b600083614f518a60060160129054906101000a90046001600160581b031688611121565b614f5b91906159d5565b90508015614fc957600789018054829190600090614f839084906001600160781b0316615ab8565b92506101000a8154816001600160781b0302191690836001600160781b03160217905550614fc982600001600a9054906101000a90046001600160a01b031682856149ce565b60405163ffffffff861681526001600160a01b038816908990600080516020615dc783398151915290602001613817565b6000808260ff1684901c600003615017575060ff90506000615059565b8260ff1691505b60ff8210801561503557506150338483614963565b155b1561504c578161504481615d3d565b92505061501e565b6150568483614963565b90505b9250929050565b60008061506e8360ff615d56565b60ff1684901b60000361508657506000905080615059565b8260ff1691505b6000821180156150a457506150a28483614963565b155b1561504c57816150b381615d6f565b92505061508d565b600062ffffff8211156124395760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016107ae565b604080518082019091526000808252602082015290565b6001600160a01b038116811461514b57600080fd5b50565b803561ffff8116811461516057600080fd5b919050565b60008060006060848603121561517a57600080fd5b83359250602084013561518c81615136565b915061519a6040850161514e565b90509250925092565b6000602082840312156151b557600080fd5b813561078581615136565b600080600080606085870312156151d657600080fd5b8435935060208501356151e881615136565b925060408501356001600160401b038082111561520457600080fd5b818701915087601f83011261521857600080fd5b81358181111561522757600080fd5b8860208260051b850101111561523c57600080fd5b95989497505060200194505050565b6000806040838503121561525e57600080fd5b82359150602083013561527081615136565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6000610180820190508d82528c60208301528b60408301528a60608301528960808301528860a08301528760c08301528660e0830152851515610100830152841515610120830152831515610140830152600583106152f2576152f261527b565b826101608301529d9c50505050505050505050505050565b803564ffffffffff8116811461516057600080fd5b60008060006060848603121561533457600080fd5b83359250602084013561534681615136565b915061519a6040850161530a565b60008060006060848603121561536957600080fd5b833561537481615136565b925060208401359150604084013561538b81615136565b809150509250925092565b6000806000606084860312156153ab57600080fd5b8335925060208401356153bd81615136565b9150604084013560ff8116811461538b57600080fd5b600080604083850312156153e657600080fd5b82356153f181615136565b915060208301356003811061527057600080fd5b801515811461514b57600080fd5b600080600080600080600060e0888a03121561542e57600080fd5b87359650602088013561544081615136565b955061544e6040890161530a565b945061545c6060890161530a565b93506080880135925060a088013561547381615405565b915060c088013561548381615405565b8091505092959891949750929550565b803562ffffff8116811461516057600080fd5b6000806000606084860312156154bb57600080fd5b8335925060208401356154cd81615136565b915061519a60408501615493565b60005b838110156154f65781810151838201526020016154de565b50506000910152565b600081518084526155178160208601602086016154db565b601f01601f19169290920160200192915050565b60208152600061098e60208301846154ff565b60208101600383106155525761555261527b565b91905290565b841515815283602082015260806040820152600061557960808301856154ff565b905060018060a01b038316606083015295945050505050565b6000602082840312156155a457600080fd5b61098e82615493565b803563ffffffff8116811461516057600080fd5b600080600080608085870312156155d757600080fd5b8435935060208501356155e981615136565b92506155f7604086016155ad565b91506156056060860161514e565b905092959194509250565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b9182526001600160a01b0316602082015260400190565b60006020828403121561567057600080fd5b815161078581615136565b6020808252601190820152704d696e746572206e6f742061637469766560781b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b64ffffffffff8281168282160390808211156131b6576131b66156a6565b602080825260119082015270105d58dd1a5bdb881d1bdbc81cda1bdc9d607a1b604082015260600190565b60208082526010908201526f27b7363c9038393296b0bab1ba34b7b760811b604082015260600190565b6020808252601c908201527b4f6e6c7920736c6f7420696e646578206c74204e554d5f534c4f545360201b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60008261578a5761578a615765565b500490565b60008261579e5761579e615765565b500690565b8082028115828204841417610991576109916156a6565b80820180821115610991576109916156a6565b600082516157df8184602087016154db565b9190910192915050565b6020808252601b908201527a13db9b1e481c1bdcdd0b585d58dd1a5bdb881bdc195b881b5a5b9d602a1b604082015260600190565b60208082526010908201526f4f6e6c7920696e20737461746520453160801b604082015260600190565b6020808252601f908201527f6269647320746f20726566756e6420677420617661696c61626c652071747900604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156158a757600080fd5b61098e826155ad565b6020808252600e908201526d1a5b9d985b1a5908109a5908125160921b604082015260600190565b60208082526015908201527427b7363c9039b2b73232b91034b9903134b23232b960591b604082015260600190565b600062ffffff80831681810361591f5761591f6156a6565b6001019392505050565b62ffffff8181168382160190808211156131b6576131b66156a6565b60208082526011908201527027b7363c903634bb329030bab1ba34b7b760791b604082015260600190565b6020808252601990820152784e6f7420616c6c6f77656420696e2065787472612074696d6560381b604082015260600190565b64ffffffffff91909116815260200190565b6001600160781b038181168382160190808211156131b6576131b66156a6565b81810381811115610991576109916156a6565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b600060208284031215615a2557600080fd5b5051919050565b60ff8181168382160190811115610991576109916156a6565b61ffff81811683821602808216919082811461456b5761456b6156a6565b64ffffffffff8181168382160190808211156131b6576131b66156a6565b6020808252601d908201527f746f6b656e7320746f206d696e7420677420746f6b656e73206f776564000000604082015260600190565b6001600160781b038281168282160390808211156131b6576131b66156a6565b6020808252600c908201526b4f6e6c79207374617465204360a01b604082015260600190565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600062ffffff821680615b4457615b446156a6565b6000190192915050565b61ffff8181168382160190808211156131b6576131b66156a6565b600063ffffffff80831681810361591f5761591f6156a6565b62ffffff8281168282160390808211156131b6576131b66156a6565b600080600080600080600080610100898b031215615bbb57600080fd5b885197506020890151615bcd81615136565b60408a015160608b01519198509650615be581615136565b60808a015160a08b01519196509450615bfd81615136565b60c08a015160e08b01519194509250615c1581615136565b809150509295985092959890939650565b60008060008060008060c08789031215615c3f57600080fd5b865195506020870151615c5181615136565b604088015160608901519196509450615c6981615136565b608088015160a08901519194509250615c8181615136565b809150509295509295509295565b600060208284031215615ca157600080fd5b815161078581615405565b6020808252601c908201527b27b7363c9039ba30b93a1039b637ba1034b73232bc10363a101a989960211b604082015260600190565b60008060008060008060c08789031215615cfb57600080fd5b86519550602087015194506040870151615d1481615405565b6060880151909450615d2581615405565b608088015160a08901519194509250615c8181615405565b600060018201615d4f57615d4f6156a6565b5060010190565b60ff8281168282160390811115610991576109916156a6565b600081615d7e57615d7e6156a6565b50600019019056fe1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237520e05d2a73ab549525f701daae4d8ac1897891bb1afca813602709aafc7a830e152fe384870d25a8d821270b8b8043fada748f138ab7f8512af64c65c726136a264697066735822122098d2fc1c8f56ca40bdba8aedef236899c9c86c954b70b306f2684efd15b8f7e764736f6c63430008160033",
1372
+ "linkReferences": {},
1373
+ "deployedLinkReferences": {}
1374
+ }