@artblocks/contracts 1.0.2 → 1.0.4

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 (387) hide show
  1. package/README.md +56 -21
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +141 -15
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  33. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  34. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  35. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  36. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  37. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  38. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  39. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  41. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  42. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  44. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  45. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  46. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  47. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  48. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  49. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
  50. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  51. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  52. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
  53. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
  54. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
  55. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
  56. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  58. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
  59. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
  60. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +3 -3
  61. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
  62. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
  63. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
  64. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
  65. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
  66. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
  67. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
  68. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
  69. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
  70. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
  71. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
  72. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
  73. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
  74. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
  75. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +56 -54
  76. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
  77. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
  78. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
  79. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  80. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  81. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +14 -1
  82. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
  83. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +14 -1
  84. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +8 -14
  85. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +8 -14
  86. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  87. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
  88. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
  89. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
  90. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +514 -0
  91. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
  92. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
  93. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  94. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
  95. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
  96. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  97. package/artifacts/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  98. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +207 -0
  99. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +93 -0
  100. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +93 -0
  101. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +69 -0
  102. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +203 -0
  103. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +123 -0
  104. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +261 -0
  105. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
  106. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +533 -0
  107. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +223 -0
  108. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
  109. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
  110. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
  111. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
  112. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
  113. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
  114. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
  115. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
  116. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
  117. package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
  118. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  119. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  120. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  121. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  122. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  123. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
  124. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
  125. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
  126. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
  127. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
  128. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
  129. package/artifacts/contracts/libs/{0.8.x/BytecodeStorage.sol → v0.8.x/BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  130. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  131. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  132. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
  133. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
  134. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  135. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +10 -0
  136. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +10 -0
  137. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +10 -0
  138. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +10 -0
  139. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
  140. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +10 -0
  141. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +10 -0
  142. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +10 -0
  143. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +10 -0
  144. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +10 -0
  145. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +2 -2
  146. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  147. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +748 -0
  148. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +1228 -0
  149. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  150. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +1146 -0
  151. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  152. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +909 -0
  153. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +1228 -0
  154. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  155. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +909 -0
  156. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  157. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  158. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +10 -160
  159. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  160. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +59 -80
  161. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +1325 -0
  162. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  163. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +848 -0
  164. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +1091 -0
  165. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +1075 -0
  166. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +1243 -0
  167. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +1167 -0
  168. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  169. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +772 -0
  170. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  171. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  172. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  173. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
  174. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  175. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  176. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
  177. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +2 -2
  178. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +2 -2
  179. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  180. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  181. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  182. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  183. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  184. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  185. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  186. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  187. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  188. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  189. package/artifacts/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  190. package/artifacts/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol}/RandomizerBase.json +1 -1
  191. package/artifacts/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol}/BasicPolyptychRandomizerV0.json +3 -3
  192. package/artifacts/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol}/BasicRandomizerV2.json +3 -3
  193. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  194. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +247 -0
  195. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  196. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
  197. package/contracts/AdminACLV0.sol +2 -2
  198. package/contracts/AdminACLV1.sol +2 -2
  199. package/contracts/DependencyRegistryV0.sol +219 -123
  200. package/contracts/GenArt721CoreV3.sol +60 -42
  201. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
  202. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
  203. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +4 -4
  204. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +4 -4
  205. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  206. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +4 -4
  207. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
  208. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
  209. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +4 -4
  210. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +4 -4
  211. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
  212. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +4 -4
  213. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +5 -5
  214. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +5 -5
  215. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
  216. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +4 -4
  217. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +5 -5
  218. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +5 -5
  219. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +5 -5
  220. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
  221. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
  222. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +4 -4
  223. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +4 -4
  224. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
  225. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
  226. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +4 -4
  227. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +4 -4
  228. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  229. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  230. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  231. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  232. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  233. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  234. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +48 -24
  235. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2298 -0
  236. package/contracts/{GenArt721CoreV3_Engine_Flex.sol → engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol} +50 -31
  237. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  238. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2359 -0
  239. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  240. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  241. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  242. package/contracts/engine-registry/EngineRegistryV0.sol +2 -2
  243. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +58 -40
  244. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +62 -0
  245. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +27 -0
  246. package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +1 -1
  247. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +1 -1
  248. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +3 -3
  249. package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +1 -1
  250. package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +34 -15
  251. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  252. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
  253. package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +3 -0
  254. package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -5
  255. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +184 -0
  256. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +16 -0
  257. package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +1 -1
  258. package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +2 -5
  259. package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
  260. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +37 -0
  261. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +25 -0
  262. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +26 -0
  263. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +19 -0
  264. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +69 -0
  265. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +44 -0
  266. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +78 -0
  267. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
  268. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +191 -0
  269. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +123 -0
  270. package/contracts/legacy/GenArt721CoreV1.sol +2 -2
  271. package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
  272. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +2 -2
  273. package/contracts/libs/integration-refs/weth9/weth9.sol +2 -0
  274. package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
  275. package/contracts/libs/v0.8.x/AuthLib.sol +197 -0
  276. package/contracts/libs/v0.8.x/BytecodeStorageV1.sol +399 -0
  277. package/contracts/libs/v0.8.x/SSTORE2.sol +109 -0
  278. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +125 -0
  279. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +109 -0
  280. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +348 -0
  281. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +175 -0
  282. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +160 -0
  283. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +320 -0
  284. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +44 -0
  285. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +390 -0
  286. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +583 -0
  287. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +153 -0
  288. package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
  289. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +6 -6
  290. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +830 -0
  291. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
  292. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +966 -0
  293. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +4 -4
  294. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +1126 -0
  295. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +4 -4
  296. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +606 -0
  297. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +952 -0
  298. package/contracts/minter-suite/Minters/MinterDALinV4.sol +4 -4
  299. package/contracts/minter-suite/Minters/MinterDALinV5.sol +591 -0
  300. package/contracts/minter-suite/Minters/MinterHolderV4.sol +5 -5
  301. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +5 -5
  302. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +18 -17
  303. package/contracts/minter-suite/Minters/MinterSEAV0.sol +235 -186
  304. package/contracts/minter-suite/Minters/MinterSEAV1.sol +1190 -0
  305. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +6 -6
  306. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +570 -0
  307. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +821 -0
  308. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +802 -0
  309. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1096 -0
  310. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +992 -0
  311. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +4 -4
  312. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +461 -0
  313. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  314. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  315. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  316. package/contracts/mock/DeadReceiverBidderMock.sol +16 -1
  317. package/contracts/mock/DeadReceiverMock.sol +1 -1
  318. package/contracts/mock/DummySharedMinter.sol +75 -0
  319. package/contracts/mock/ERC20Mock.sol +16 -0
  320. package/contracts/mock/GasLimitReceiverBidderMock.sol +1 -1
  321. package/contracts/mock/GasLimitReceiverMock.sol +1 -1
  322. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +22 -35
  323. package/contracts/mock/MockAdminACLV0.sol +2 -2
  324. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  325. package/contracts/mock/OriginRegisterMock.sol +27 -0
  326. package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -2
  327. package/contracts/mock/ReentrancyHolderMock.sol +1 -1
  328. package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
  329. package/contracts/mock/ReentrancyMock.sol +1 -1
  330. package/contracts/mock/ReentrancySEAMock.sol +1 -1
  331. package/contracts/mock/SSTORE2Mock.sol +93 -0
  332. package/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol} +1 -1
  333. package/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol} +1 -1
  334. package/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol} +3 -3
  335. package/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol} +3 -3
  336. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  337. package/contracts/randomizer/shared/SharedRandomizerV0.sol +260 -0
  338. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
  339. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
  340. package/package.json +51 -43
  341. package/.env.example +0 -17
  342. package/LICENSE +0 -165
  343. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  344. package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +0 -2229
  345. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  346. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  347. /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
  348. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
  349. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  350. /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
  351. /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
  352. /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
  353. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
  354. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
  355. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
  356. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
  357. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
  358. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
  359. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
  360. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
  361. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
  362. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
  363. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
  364. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
  365. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
  366. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
  367. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
  368. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
  369. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
  370. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
  371. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
  372. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
  373. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  374. /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
  375. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
  376. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
  377. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
  378. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
  379. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
  380. /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
  381. /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
  382. /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
  383. /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
  384. /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
  385. /package/contracts/libs/{0.8.x/BytecodeStorage.sol → v0.8.x/BytecodeStorageV0.sol} +0 -0
  386. /package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +0 -0
  387. /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
@@ -389,6 +389,24 @@
389
389
  "stateMutability": "nonpayable",
390
390
  "type": "function"
391
391
  },
392
+ {
393
+ "inputs": [
394
+ {
395
+ "internalType": "bytes32",
396
+ "name": "_dependencyType",
397
+ "type": "bytes32"
398
+ },
399
+ {
400
+ "internalType": "address",
401
+ "name": "_scriptPointer",
402
+ "type": "address"
403
+ }
404
+ ],
405
+ "name": "addDependencyScriptPointer",
406
+ "outputs": [],
407
+ "stateMutability": "nonpayable",
408
+ "type": "function"
409
+ },
392
410
  {
393
411
  "inputs": [
394
412
  {
@@ -480,7 +498,7 @@
480
498
  "type": "uint256"
481
499
  }
482
500
  ],
483
- "name": "getDependencyAdditionalCDNAtIndex",
501
+ "name": "getDependencyAdditionalCDN",
484
502
  "outputs": [
485
503
  {
486
504
  "internalType": "string",
@@ -504,7 +522,7 @@
504
522
  "type": "uint256"
505
523
  }
506
524
  ],
507
- "name": "getDependencyAdditionalRepositoryAtIndex",
525
+ "name": "getDependencyAdditionalRepository",
508
526
  "outputs": [
509
527
  {
510
528
  "internalType": "string",
@@ -582,7 +600,7 @@
582
600
  "type": "uint256"
583
601
  }
584
602
  ],
585
- "name": "getDependencyScriptAtIndex",
603
+ "name": "getDependencyScript",
586
604
  "outputs": [
587
605
  {
588
606
  "internalType": "string",
@@ -606,7 +624,7 @@
606
624
  "type": "uint256"
607
625
  }
608
626
  ],
609
- "name": "getDependencyScriptBytecodeAddressAtIndex",
627
+ "name": "getDependencyScriptBytecodeAddress",
610
628
  "outputs": [
611
629
  {
612
630
  "internalType": "address",
@@ -617,6 +635,30 @@
617
635
  "stateMutability": "view",
618
636
  "type": "function"
619
637
  },
638
+ {
639
+ "inputs": [
640
+ {
641
+ "internalType": "bytes32",
642
+ "name": "_dependencyType",
643
+ "type": "bytes32"
644
+ },
645
+ {
646
+ "internalType": "uint256",
647
+ "name": "_index",
648
+ "type": "uint256"
649
+ }
650
+ ],
651
+ "name": "getDependencyScriptBytecodeStorageVersion",
652
+ "outputs": [
653
+ {
654
+ "internalType": "bytes32",
655
+ "name": "",
656
+ "type": "bytes32"
657
+ }
658
+ ],
659
+ "stateMutability": "view",
660
+ "type": "function"
661
+ },
620
662
  {
621
663
  "inputs": [
622
664
  {
@@ -644,7 +686,7 @@
644
686
  "type": "uint256"
645
687
  }
646
688
  ],
647
- "name": "getDependencyTypeAtIndex",
689
+ "name": "getDependencyType",
648
690
  "outputs": [
649
691
  {
650
692
  "internalType": "string",
@@ -713,7 +755,7 @@
713
755
  "type": "uint256"
714
756
  }
715
757
  ],
716
- "name": "getSupportedCoreContractAtIndex",
758
+ "name": "getSupportedCoreContract",
717
759
  "outputs": [
718
760
  {
719
761
  "internalType": "address",
@@ -763,6 +805,25 @@
763
805
  "stateMutability": "nonpayable",
764
806
  "type": "function"
765
807
  },
808
+ {
809
+ "inputs": [
810
+ {
811
+ "internalType": "address",
812
+ "name": "coreContractAddress",
813
+ "type": "address"
814
+ }
815
+ ],
816
+ "name": "isSupportedCoreContract",
817
+ "outputs": [
818
+ {
819
+ "internalType": "bool",
820
+ "name": "",
821
+ "type": "bool"
822
+ }
823
+ ],
824
+ "stateMutability": "view",
825
+ "type": "function"
826
+ },
766
827
  {
767
828
  "inputs": [],
768
829
  "name": "owner",
@@ -802,7 +863,7 @@
802
863
  "type": "uint256"
803
864
  }
804
865
  ],
805
- "name": "removeDependencyAdditionalCDNAtIndex",
866
+ "name": "removeDependencyAdditionalCDN",
806
867
  "outputs": [],
807
868
  "stateMutability": "nonpayable",
808
869
  "type": "function"
@@ -820,7 +881,7 @@
820
881
  "type": "uint256"
821
882
  }
822
883
  ],
823
- "name": "removeDependencyAdditionalRepositoryAtIndex",
884
+ "name": "removeDependencyAdditionalRepository",
824
885
  "outputs": [],
825
886
  "stateMutability": "nonpayable",
826
887
  "type": "function"
@@ -907,7 +968,7 @@
907
968
  "type": "string"
908
969
  }
909
970
  ],
910
- "name": "updateDependencyAdditionalCDNAtIndex",
971
+ "name": "updateDependencyAdditionalCDN",
911
972
  "outputs": [],
912
973
  "stateMutability": "nonpayable",
913
974
  "type": "function"
@@ -930,7 +991,7 @@
930
991
  "type": "string"
931
992
  }
932
993
  ],
933
- "name": "updateDependencyAdditionalRepositoryAtIndex",
994
+ "name": "updateDependencyAdditionalRepository",
934
995
  "outputs": [],
935
996
  "stateMutability": "nonpayable",
936
997
  "type": "function"
@@ -998,7 +1059,7 @@
998
1059
  },
999
1060
  {
1000
1061
  "internalType": "uint256",
1001
- "name": "_scriptId",
1062
+ "name": "_index",
1002
1063
  "type": "uint256"
1003
1064
  },
1004
1065
  {
@@ -1011,10 +1072,75 @@
1011
1072
  "outputs": [],
1012
1073
  "stateMutability": "nonpayable",
1013
1074
  "type": "function"
1075
+ },
1076
+ {
1077
+ "inputs": [
1078
+ {
1079
+ "internalType": "bytes32",
1080
+ "name": "_dependencyType",
1081
+ "type": "bytes32"
1082
+ },
1083
+ {
1084
+ "internalType": "uint256",
1085
+ "name": "_index",
1086
+ "type": "uint256"
1087
+ },
1088
+ {
1089
+ "internalType": "address",
1090
+ "name": "_scriptPointer",
1091
+ "type": "address"
1092
+ }
1093
+ ],
1094
+ "name": "updateDependencyScriptPointer",
1095
+ "outputs": [],
1096
+ "stateMutability": "nonpayable",
1097
+ "type": "function"
1014
1098
  }
1015
1099
  ],
1016
- "bytecode": "0x608060405234801561001057600080fd5b50612ee2806100206000396000f3fe608060405234801561001057600080fd5b50600436106101c75760003560e01c80637cbb45c8116101005780637cbb45c81461039957806389f8ba4f146103a15780638da5cb5b146103b457806392f4f506146103bc5780639d5c4b78146103f4578063a809c1fc14610407578063b491702c1461041a578063b86b69f11461042d578063bbf2aefb14610435578063be3d3ee614610448578063c4d66de81461045b578063da7810fe1461046e578063dbc71ccb14610481578063dc33f4ae14610494578063f146f17f146104a7578063f2fde38b146104ba578063f73f4991146104cd578063f8ac18be146104e0578063f9c0fae6146104f357600080fd5b806304e3c7f6146101cc57806307f9f786146101e1578063199eb8e0146101ff5780631a051d49146102125780631e9bef4614610225578063230448b11461025057806325ffb37614610273578063336af8101461029a5780633bd7cfa2146102ba578063474bbdc2146102cd57806351eda999146102e057806352ccc021146102f55780635668bc5e146103085780635710f83d14610345578063596224dc1461035857806359d8a7331461036b5780636c4056a81461037e578063715018a614610391575b600080fd5b6101df6101da36600461244a565b610506565b005b6101e9610616565b6040516101f6919061246c565b60405180910390f35b6101df61020d3660046124d5565b6106c5565b6101df6102203660046125b3565b610720565b606554610238906001600160a01b031681565b6040516001600160a01b0390911681526020016101f6565b61026361025e366004612602565b61081e565b60405190151581526020016101f6565b610286610281366004612656565b6108ca565b6040516101f69897969594939291906126bf565b6102ad6102a836600461244a565b610ae1565b6040516101f69190612744565b6101df6102c8366004612757565b610b93565b6102ad6102db36600461279d565b610c04565b6102e8610d40565b6040516101f691906127c7565b6101df610303366004612656565b610dff565b610337610316366004612656565b600090815260686020526040902060060154600160301b900462ffffff1690565b6040519081526020016101f6565b6101df610353366004612757565b610f60565b6101df6103663660046125b3565b611026565b610238610379366004612656565b6110e2565b6102ad61038c366004612656565b61113d565b6101df61119a565b6103376111ae565b6101df6103af36600461244a565b6111bf565b6102386112a2565b6102386103ca36600461244a565b6000918252606860209081526040808420928452600590920190529020546001600160a01b031690565b6102ad61040236600461244a565b6112b6565b6101df610415366004612829565b6112e1565b6102ad61042836600461244a565b611417565b610337611479565b6101df6104433660046128ba565b611485565b6101df610456366004612757565b611506565b6101df6104693660046124d5565b611568565b6101df61047c3660046125b3565b611683565b6101df61048f3660046124d5565b611729565b6101df6104a2366004612757565b6117da565b6101df6104b5366004612757565b6118ac565b6101df6104c83660046124d5565b61195d565b6101df6104db36600461279d565b6119d6565b6101df6104ee366004612656565b611aa6565b6101df610501366004612757565b611c10565b610516630271e3fb60e11b611c75565b61051f82611cc5565b600082815260686020526040902060068101546301000000900462ffffff168083106105665760405162461bcd60e51b815260040161055d906128ed565b60405180910390fd5b6000610573600183612935565b6000868152606860209081526040808320848452600390810183528184208985529088019092529091209192506105aa90826129e0565b50600081815260038401602052604081206105c4916123fc565b60068301805465ffffff0000001916630100000062ffffff841602179055604051849086907fc02725dfc9639e3399432cdae3db1c062229f4cc41bcc18631517617c020b71c90600090a35050505050565b606060006106246069611d1c565b90506000816001600160401b03811115610640576106406124f0565b604051908082528060200260200182016040528015610669578160200160208202803683370190505b50905060005b828110156106be57610682606982611d26565b82828151811061069457610694612aba565b6001600160a01b0390921660209283029190910190910152806106b681612ad0565b91505061066f565b5092915050565b6106d462ccf5c760e51b611c75565b6106dd81611d39565b6106e8606982611d8e565b506040516001600160a01b038216907f2453d2f77bae1012d39e2257356d2566625ebe0ffd6094198aa051689dc65ba090600090a250565b610730631a051d4960e01b611c75565b61073981611da3565b61074283611cc5565b60008381526068602052604090206006810154600160301b900462ffffff1683106107a75760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b604482015260640161055d565b60008381526005820160205260409020546107ca906001600160a01b0316611df2565b6107d382611ea9565b600084815260058301602052604080822080546001600160a01b0319166001600160a01b03949094169390931790925590518591600080516020612e8d83398151915291a250505050565b6000806108296112a2565b6001600160a01b0316141580156108c257506065546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c29190612ae9565b949350505050565b60008181526068602052604081206060918291829082908290829081906108f08a611f37565b60068201548254839162ffffff808216926002850192630100000081048316926004870192600160301b9092041680151591879061092d90612948565b80601f016020809104026020016040519081016040528092919081815260200182805461095990612948565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b505050505096508480546109b990612948565b80601f01602080910402602001604051908101604052809291908181526020018280546109e590612948565b8015610a325780601f10610a0757610100808354040283529160200191610a32565b820191906000526020600020905b815481529060010190602001808311610a1557829003601f168201915b50505050509450828054610a4590612948565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7190612948565b8015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505092509850985098509850985098509850985050919395975091939597565b60008281526068602090815260408083208484526003019091529020805460609190610b0c90612948565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3890612948565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505090505b92915050565b610ba3631debe7d160e11b611c75565b610bac82611cc5565b6000828152606860205260409020600401610bc78282612b0b565b50817f9959f3af1c0191277b92c192984b5ca38adaf82d8465332b4da850e0e6a199f482604051610bf89190612744565b60405180910390a25050565b6060610c0f83611d39565b6001600160a01b0383166000908152606b602090815260408083208584529091529020548015610c4a57610c4281611f37565b915050610b8d565b604051633ae7357560e21b8152600481018490526001600160a01b0385169063eb9cd5d490602401600060405180830381865afa925050508015610cb057506040513d6000823e601f3d908101601f19168201604052610cad9190810190612c03565b60015b610d345760405162461bcd60e51b815260206004820152604960248201527f436f6e747261637420646f6573206e6f7420696d706c656d656e742070726f6a60448201527f65637453637269707444657461696c7320616e6420686173206e6f206f7665726064820152683934b2329039b2ba1760b91b608482015260a40161055d565b82945050505050610b8d565b60606000610d4e6066611d1c565b6001600160401b03811115610d6557610d656124f0565b604051908082528060200260200182016040528015610d9857816020015b6060815260200190600190039081610d835790505b5090506000610da76066611d1c565b905060005b81811015610df757610dc7610dc2606683611d26565b611f37565b838281518110610dd957610dd9612aba565b60200260200101819052508080610def90612ad0565b915050610dac565b509092915050565b610e0f6352ccc02160e01b611c75565b610e1881611cc5565b60008181526068602052604090206006810154600160301b900462ffffff16610e835760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f76650000604482015260640161055d565b610ed081600501600060018460060160069054906101000a900462ffffff16610eac9190612c6f565b62ffffff1681526020810191909152604001600020546001600160a01b0316611df2565b60068101546005820190600090610ef590600190600160301b900462ffffff16612c6f565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b031916905560068401805462ffffff60301b198116600160301b918290048616600019019095160293909317909255518391600080516020612e8d83398151915291a25050565b610f70635710f83d60e01b611c75565b610f7981611da3565b610f8282611cc5565b600082815260686020908152604080832060068101546301000000900462ffffff16808552600382019093529220610fba8482612b0b565b50610fc6816001612c8b565b8260060160036101000a81548162ffffff021916908362ffffff160217905550837ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde8483604051611018929190612c9e565b60405180910390a250505050565b611036631658893760e21b611c75565b61103f81611da3565b61104883611cc5565b600083815260686020526040902060068101546301000000900462ffffff168084106110865760405162461bcd60e51b815260040161055d906128ed565b600084815260038301602052604090206110a08482612b0b565b50847ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde84866040516110d3929190612c9e565b60405180910390a25050505050565b6000816110ef6069611d1c565b116111325760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640161055d565b610b8d606983611d26565b60608161114a6066611d1c565b1161118c5760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b604482015260640161055d565b610b8d610dc2606684611d26565b6111a2611fa2565b6111ac6000612001565b565b60006111ba6066611d1c565b905090565b6111cf6389f8ba4f60e01b611c75565b6111d882611cc5565b6000828152606860205260409020600681015462ffffff1680831061120f5760405162461bcd60e51b815260040161055d906128ed565b600061121c600183612935565b6000818152600185016020526040808220878352912091925061123f90826129e0565b5060008181526001840160205260408120611259916123fc565b60068301805462ffffff191662ffffff8316179055604051849086907f225454b600cf489553fde6e3b7f5e458b1093c035390b678067ea799b3b016cd90600090a35050505050565b60006111ba6033546001600160a01b031690565b60008281526068602090815260408083208484526001019091529020805460609190610b0c90612948565b6112f1632a02707f60e21b611c75565b6112fc60668561202c565b156113495760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520616c7265616479206578697374730000604482015260640161055d565b6113568460406001612038565b61139f5760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b604482015260640161055d565b6113aa6066856120ab565b506000848152606860205260409020806113c48582612b0b565b50600281016113d38482612b0b565b50600481016113e28382612b0b565b50847f39626dd6a5a74e9944752116c5e878fbb4c1ac0cab72cd316f6f25ee19cff7658585856040516110d393929190612cc0565b6000828152606860205260409020600681015460609190600160301b900462ffffff168310611456575050604080516020810190915260008152610b8d565b60008381526005820160205260409020546108c2906001600160a01b03166120b7565b60006111ba6069611d1c565b61149563bbf2aefb60e01b611c75565b61149e81611cc5565b6114a783611d39565b6001600160a01b0383166000818152606b6020908152604080832086845282529182902084905590518381528492917f27d39273f3676c181ec3de60b583da776123d9f9517761fb91f370a83c798918910160405180910390a3505050565b611516635f1e9f7360e11b611c75565b61151f82611cc5565b60008281526068602052604090206115378282612b0b565b50817fc9890a31ec780bb5a8a017d683d3913f97260548d71c2cee78194ed2833f023582604051610bf89190612744565b600054610100900460ff16158080156115885750600054600160ff909116105b806115a25750303b1580156115a2575060005460ff166001145b6116055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161055d565b6000805460ff191660011790558015611628576000805461ff0019166101001790555b611630612142565b61163982612001565b801561167f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b611693636d3c087f60e11b611c75565b61169c81611da3565b6116a583611cc5565b6000838152606860205260409020600681015462ffffff168084106116dc5760405162461bcd60e51b815260040161055d906128ed565b600084815260018301602052604090206116f68482612b0b565b50847f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d84866040516110d3929190612c9e565b61173963dbc71ccb60e01b611c75565b61174281612171565b61174d6069826121c5565b156117975760405162461bcd60e51b815260206004820152601a60248201527910dbdb9d1c9858dd08185b1c9958591e481cdd5c1c1bdc9d195960321b604482015260640161055d565b6117a26069826121da565b506040516001600160a01b038216907f59e1b889b92ad05213b7934a67c5d824348c868455d1c741a2cfe16e46d832dc90600090a250565b6117ea636e19fa5760e11b611c75565b6117f381611da3565b6117fc82611cc5565b600082815260686020526040902061181382611ea9565b600682018054600160301b9081900462ffffff9081166000908152600586016020526040902080546001600160a01b0319166001600160a01b039590951694909417909355905461186992919004166001612d03565b60068201805462ffffff92909216600160301b0262ffffff60301b199092169190911790556040518390600080516020612e8d83398151915290600090a2505050565b6118bc63f146f17f60e01b611c75565b6118c581611da3565b6118ce82611cc5565b6000828152606860209081526040808320600681015462ffffff168085526001820190935292206118ff8482612b0b565b5061190b816001612c8b565b8260060160006101000a81548162ffffff021916908362ffffff160217905550837f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d8483604051611018929190612c9e565b611965611fa2565b6001600160a01b0381166119ca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b6119d381612001565b50565b6119e663f73f499160e01b611c75565b6001600160a01b0382166000908152606b60209081526040808320848452909152902054611a545760405162461bcd60e51b815260206004820152601b60248201527a139bc81bdd995c9c9a5919481cd95d08199bdc881c1c9bda9958dd602a1b604482015260640161055d565b6001600160a01b0382166000818152606b60209081526040808320858452909152808220829055518392917f0732620824c0200808d04ab037f3abc3c31853170b90f5a855d32f44486048ed91a35050565b611ab6637c560c5f60e11b611c75565b611abf81611cc5565b6000818152606860205260409020600681015462ffffff16158015611af2575060068101546301000000900462ffffff16155b8015611b0c57506006810154600160301b900462ffffff16155b611b8e5760405162461bcd60e51b815260206004820152604760248201527f43616e6e6f742072656d6f766520646570656e64656e6379207769746820616460448201527f646974696f6e616c2043444e732c207265706f7369746f726965732c206f72206064820152667363726970747360c81b608482015260a40161055d565b611b996066836121ef565b50600082815260686020526040812090611bb382826123fc565b611bc16002830160006123fc565b611bcf6004830160006123fc565b5060060180546001600160481b031916905560405182907f60e2aa021c4f5303dd65e2173f0180636e4d42eaefc6187278e92bee9d06aa7290600090a25050565b611c20637ce07d7360e11b611c75565b611c2982611cc5565b6000828152606860205260409020600201611c448282612b0b565b50817f774918414e4887efe5349a305fe253ee8b1e3fe0c2117012f0c215645693cbfd82604051610bf89190612744565b611c8033308361081e565b6119d35760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604482015260640161055d565b611cd060668261202c565b6119d35760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520646f6573206e6f742065786973740000604482015260640161055d565b6000610b8d825490565b6000611d3283836121fb565b9392505050565b611d446069826121c5565b6119d35760405162461bcd60e51b815260206004820152601b60248201527a10dbdc994818dbdb9d1c9858dd081b9bdd081cdd5c1c1bdc9d1959602a1b604482015260640161055d565b6000611d32836001600160a01b038416612225565b80516000036119d35760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b604482015260640161055d565b6000816001600160a01b0316604051611e16906001600160f81b0319815260010190565b6000604051808303816000865af19150503d8060008114611e53576040519150601f19603f3d011682016040523d82523d6000602084013e611e58565b606091505b505090508061167f5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f7200604482015260640161055d565b6000803083604051602001611ebf929190612d3b565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216611f315760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f720000604482015260640161055d565b50919050565b606060005b828160ff1660208110611f5157611f51612aba565b1a60f81b6001600160f81b03191615801590611f70575060208160ff16105b15611f875780611f7f81612e0c565b915050611f3c565b60405191506040820160405280825282602083015250919050565b33611fab6112a2565b6001600160a01b0316146111ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055d565b61200a81612318565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b6000611d32838361236a565b600080805b60208160ff161015612097576000868260ff166020811061206057612060612aba565b1a90508015801590612075575060808160ff16105b1561208e578560ff168160ff160361208e578260010192505b5060010161203d565b8360ff168260ff1614925050509392505050565b6000611d328383612382565b6060813b60688110806120c8575080155b156121155760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604482015260640161055d565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b600054610100900460ff166121695760405162461bcd60e51b815260040161055d90612e2b565b6111ac6123cc565b6001600160a01b0381166119d35760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604482015260640161055d565b6000611d32836001600160a01b03841661236a565b6000611d32836001600160a01b038416612382565b6000611d328383612225565b600082600001828154811061221257612212612aba565b9060005260206000200154905092915050565b6000818152600183016020526040812054801561230e576000612249600183612935565b855490915060009061225d90600190612935565b90508181146122c257600086600001828154811061227d5761227d612aba565b90600052602060002001549050808760000184815481106122a0576122a0612aba565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122d3576122d3612e76565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b8d565b6000915050610b8d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60009081526001919091016020526040902054151590565b600061238e838361236a565b6123c457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b8d565b506000610b8d565b600054610100900460ff166123f35760405162461bcd60e51b815260040161055d90612e2b565b6111ac33612001565b50805461240890612948565b6000825580601f10612418575050565b601f0160209004906000526020600020908101906119d391905b808211156124465760008155600101612432565b5090565b6000806040838503121561245d57600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156124ad5783516001600160a01b031683529284019291840191600101612488565b50909695505050505050565b80356001600160a01b03811681146124d057600080fd5b919050565b6000602082840312156124e757600080fd5b611d32826124b9565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561252e5761252e6124f0565b604052919050565b60006001600160401b0382111561254f5761254f6124f0565b50601f01601f191660200190565b600082601f83011261256e57600080fd5b813561258161257c82612536565b612506565b81815284602083860101111561259657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156125c857600080fd5b833592506020840135915060408401356001600160401b038111156125ec57600080fd5b6125f88682870161255d565b9150509250925092565b60008060006060848603121561261757600080fd5b612620846124b9565b925061262e602085016124b9565b915060408401356001600160e01b03198116811461264b57600080fd5b809150509250925092565b60006020828403121561266857600080fd5b5035919050565b60005b8381101561268a578181015183820152602001612672565b50506000910152565b600081518084526126ab81602086016020860161266f565b601f01601f19169290920160200192915050565b60006101008083526126d38184018c612693565b905082810360208401526126e7818b612693565b905062ffffff808a1660408501528382036060850152612707828a612693565b9150808816608085015283820360a08501526127238288612693565b925085151560c085015280851660e085015250509998505050505050505050565b602081526000611d326020830184612693565b6000806040838503121561276a57600080fd5b8235915060208301356001600160401b0381111561278757600080fd5b6127938582860161255d565b9150509250929050565b600080604083850312156127b057600080fd5b6127b9836124b9565b946020939093013593505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561281c57603f1988860301845261280a858351612693565b945092850192908501906001016127ee565b5092979650505050505050565b6000806000806080858703121561283f57600080fd5b8435935060208501356001600160401b038082111561285d57600080fd5b6128698883890161255d565b9450604087013591508082111561287f57600080fd5b61288b8883890161255d565b935060608701359150808211156128a157600080fd5b506128ae8782880161255d565b91505092959194509250565b6000806000606084860312156128cf57600080fd5b6128d8846124b9565b95602085013595506040909401359392505050565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b8d57610b8d61291f565b600181811c9082168061295c57607f821691505b602082108103611f3157634e487b7160e01b600052602260045260246000fd5b601f8211156129c657600081815260208120601f850160051c810160208610156129a35750805b601f850160051c820191505b818110156129c2578281556001016129af565b5050505b505050565b600019600383901b1c191660019190911b1790565b8181036129eb575050565b6129f58254612948565b6001600160401b03811115612a0c57612a0c6124f0565b612a2081612a1a8454612948565b8461297c565b6000601f821160018114612a4e5760008315612a3c5750848201545b612a4684826129cb565b855550612ab3565b600085815260209020601f19841690600086815260209020845b83811015612a885782860154825560019586019590910190602001612a68565b5085831015612aa65781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201612ae257612ae261291f565b5060010190565b600060208284031215612afb57600080fd5b81518015158114611d3257600080fd5b81516001600160401b03811115612b2457612b246124f0565b612b3281612a1a8454612948565b602080601f831160018114612b615760008415612b4f5750858301515b612b5985826129cb565b8655506129c2565b600085815260208120601f198616915b82811015612b9057888601518255948401946001909101908401612b71565b5085821015612bae5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112612bcf57600080fd5b8151612bdd61257c82612536565b818152846020838601011115612bf257600080fd5b6108c282602083016020870161266f565b600080600060608486031215612c1857600080fd5b83516001600160401b0380821115612c2f57600080fd5b612c3b87838801612bbe565b94506020860151915080821115612c5157600080fd5b50612c5e86828701612bbe565b925050604084015190509250925092565b62ffffff8281168282160390808211156106be576106be61291f565b80820180821115610b8d57610b8d61291f565b604081526000612cb16040830185612693565b90508260208301529392505050565b606081526000612cd36060830186612693565b8281036020840152612ce58186612693565b90508281036040840152612cf98185612693565b9695505050505050565b62ffffff8181168382160190808211156106be576106be61291f565b60008151612d3181856020860161266f565b9290920192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e830152612de06053830160008152600c0190565b612df6818660601b6001600160601b0319169052565b612e036014820185612d1f565b95945050505050565b600060ff821660ff8103612e2257612e2261291f565b60010192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603160045260246000fdfef79e11fc86b9bf37d5dfd4359c053136f7c046da6a08f9cf7ca56d80d5aab839a2646970667358221220a150f65dee1acc9cd356a2b7e314fe808b0139b43622b2180e0075309f47869f64736f6c63430008110033",
1017
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c75760003560e01c80637cbb45c8116101005780637cbb45c81461039957806389f8ba4f146103a15780638da5cb5b146103b457806392f4f506146103bc5780639d5c4b78146103f4578063a809c1fc14610407578063b491702c1461041a578063b86b69f11461042d578063bbf2aefb14610435578063be3d3ee614610448578063c4d66de81461045b578063da7810fe1461046e578063dbc71ccb14610481578063dc33f4ae14610494578063f146f17f146104a7578063f2fde38b146104ba578063f73f4991146104cd578063f8ac18be146104e0578063f9c0fae6146104f357600080fd5b806304e3c7f6146101cc57806307f9f786146101e1578063199eb8e0146101ff5780631a051d49146102125780631e9bef4614610225578063230448b11461025057806325ffb37614610273578063336af8101461029a5780633bd7cfa2146102ba578063474bbdc2146102cd57806351eda999146102e057806352ccc021146102f55780635668bc5e146103085780635710f83d14610345578063596224dc1461035857806359d8a7331461036b5780636c4056a81461037e578063715018a614610391575b600080fd5b6101df6101da36600461244a565b610506565b005b6101e9610616565b6040516101f6919061246c565b60405180910390f35b6101df61020d3660046124d5565b6106c5565b6101df6102203660046125b3565b610720565b606554610238906001600160a01b031681565b6040516001600160a01b0390911681526020016101f6565b61026361025e366004612602565b61081e565b60405190151581526020016101f6565b610286610281366004612656565b6108ca565b6040516101f69897969594939291906126bf565b6102ad6102a836600461244a565b610ae1565b6040516101f69190612744565b6101df6102c8366004612757565b610b93565b6102ad6102db36600461279d565b610c04565b6102e8610d40565b6040516101f691906127c7565b6101df610303366004612656565b610dff565b610337610316366004612656565b600090815260686020526040902060060154600160301b900462ffffff1690565b6040519081526020016101f6565b6101df610353366004612757565b610f60565b6101df6103663660046125b3565b611026565b610238610379366004612656565b6110e2565b6102ad61038c366004612656565b61113d565b6101df61119a565b6103376111ae565b6101df6103af36600461244a565b6111bf565b6102386112a2565b6102386103ca36600461244a565b6000918252606860209081526040808420928452600590920190529020546001600160a01b031690565b6102ad61040236600461244a565b6112b6565b6101df610415366004612829565b6112e1565b6102ad61042836600461244a565b611417565b610337611479565b6101df6104433660046128ba565b611485565b6101df610456366004612757565b611506565b6101df6104693660046124d5565b611568565b6101df61047c3660046125b3565b611683565b6101df61048f3660046124d5565b611729565b6101df6104a2366004612757565b6117da565b6101df6104b5366004612757565b6118ac565b6101df6104c83660046124d5565b61195d565b6101df6104db36600461279d565b6119d6565b6101df6104ee366004612656565b611aa6565b6101df610501366004612757565b611c10565b610516630271e3fb60e11b611c75565b61051f82611cc5565b600082815260686020526040902060068101546301000000900462ffffff168083106105665760405162461bcd60e51b815260040161055d906128ed565b60405180910390fd5b6000610573600183612935565b6000868152606860209081526040808320848452600390810183528184208985529088019092529091209192506105aa90826129e0565b50600081815260038401602052604081206105c4916123fc565b60068301805465ffffff0000001916630100000062ffffff841602179055604051849086907fc02725dfc9639e3399432cdae3db1c062229f4cc41bcc18631517617c020b71c90600090a35050505050565b606060006106246069611d1c565b90506000816001600160401b03811115610640576106406124f0565b604051908082528060200260200182016040528015610669578160200160208202803683370190505b50905060005b828110156106be57610682606982611d26565b82828151811061069457610694612aba565b6001600160a01b0390921660209283029190910190910152806106b681612ad0565b91505061066f565b5092915050565b6106d462ccf5c760e51b611c75565b6106dd81611d39565b6106e8606982611d8e565b506040516001600160a01b038216907f2453d2f77bae1012d39e2257356d2566625ebe0ffd6094198aa051689dc65ba090600090a250565b610730631a051d4960e01b611c75565b61073981611da3565b61074283611cc5565b60008381526068602052604090206006810154600160301b900462ffffff1683106107a75760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b604482015260640161055d565b60008381526005820160205260409020546107ca906001600160a01b0316611df2565b6107d382611ea9565b600084815260058301602052604080822080546001600160a01b0319166001600160a01b03949094169390931790925590518591600080516020612e8d83398151915291a250505050565b6000806108296112a2565b6001600160a01b0316141580156108c257506065546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c29190612ae9565b949350505050565b60008181526068602052604081206060918291829082908290829081906108f08a611f37565b60068201548254839162ffffff808216926002850192630100000081048316926004870192600160301b9092041680151591879061092d90612948565b80601f016020809104026020016040519081016040528092919081815260200182805461095990612948565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b505050505096508480546109b990612948565b80601f01602080910402602001604051908101604052809291908181526020018280546109e590612948565b8015610a325780601f10610a0757610100808354040283529160200191610a32565b820191906000526020600020905b815481529060010190602001808311610a1557829003601f168201915b50505050509450828054610a4590612948565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7190612948565b8015610abe5780601f10610a9357610100808354040283529160200191610abe565b820191906000526020600020905b815481529060010190602001808311610aa157829003601f168201915b505050505092509850985098509850985098509850985050919395975091939597565b60008281526068602090815260408083208484526003019091529020805460609190610b0c90612948565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3890612948565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505090505b92915050565b610ba3631debe7d160e11b611c75565b610bac82611cc5565b6000828152606860205260409020600401610bc78282612b0b565b50817f9959f3af1c0191277b92c192984b5ca38adaf82d8465332b4da850e0e6a199f482604051610bf89190612744565b60405180910390a25050565b6060610c0f83611d39565b6001600160a01b0383166000908152606b602090815260408083208584529091529020548015610c4a57610c4281611f37565b915050610b8d565b604051633ae7357560e21b8152600481018490526001600160a01b0385169063eb9cd5d490602401600060405180830381865afa925050508015610cb057506040513d6000823e601f3d908101601f19168201604052610cad9190810190612c03565b60015b610d345760405162461bcd60e51b815260206004820152604960248201527f436f6e747261637420646f6573206e6f7420696d706c656d656e742070726f6a60448201527f65637453637269707444657461696c7320616e6420686173206e6f206f7665726064820152683934b2329039b2ba1760b91b608482015260a40161055d565b82945050505050610b8d565b60606000610d4e6066611d1c565b6001600160401b03811115610d6557610d656124f0565b604051908082528060200260200182016040528015610d9857816020015b6060815260200190600190039081610d835790505b5090506000610da76066611d1c565b905060005b81811015610df757610dc7610dc2606683611d26565b611f37565b838281518110610dd957610dd9612aba565b60200260200101819052508080610def90612ad0565b915050610dac565b509092915050565b610e0f6352ccc02160e01b611c75565b610e1881611cc5565b60008181526068602052604090206006810154600160301b900462ffffff16610e835760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f76650000604482015260640161055d565b610ed081600501600060018460060160069054906101000a900462ffffff16610eac9190612c6f565b62ffffff1681526020810191909152604001600020546001600160a01b0316611df2565b60068101546005820190600090610ef590600190600160301b900462ffffff16612c6f565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b031916905560068401805462ffffff60301b198116600160301b918290048616600019019095160293909317909255518391600080516020612e8d83398151915291a25050565b610f70635710f83d60e01b611c75565b610f7981611da3565b610f8282611cc5565b600082815260686020908152604080832060068101546301000000900462ffffff16808552600382019093529220610fba8482612b0b565b50610fc6816001612c8b565b8260060160036101000a81548162ffffff021916908362ffffff160217905550837ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde8483604051611018929190612c9e565b60405180910390a250505050565b611036631658893760e21b611c75565b61103f81611da3565b61104883611cc5565b600083815260686020526040902060068101546301000000900462ffffff168084106110865760405162461bcd60e51b815260040161055d906128ed565b600084815260038301602052604090206110a08482612b0b565b50847ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde84866040516110d3929190612c9e565b60405180910390a25050505050565b6000816110ef6069611d1c565b116111325760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640161055d565b610b8d606983611d26565b60608161114a6066611d1c565b1161118c5760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b604482015260640161055d565b610b8d610dc2606684611d26565b6111a2611fa2565b6111ac6000612001565b565b60006111ba6066611d1c565b905090565b6111cf6389f8ba4f60e01b611c75565b6111d882611cc5565b6000828152606860205260409020600681015462ffffff1680831061120f5760405162461bcd60e51b815260040161055d906128ed565b600061121c600183612935565b6000818152600185016020526040808220878352912091925061123f90826129e0565b5060008181526001840160205260408120611259916123fc565b60068301805462ffffff191662ffffff8316179055604051849086907f225454b600cf489553fde6e3b7f5e458b1093c035390b678067ea799b3b016cd90600090a35050505050565b60006111ba6033546001600160a01b031690565b60008281526068602090815260408083208484526001019091529020805460609190610b0c90612948565b6112f1632a02707f60e21b611c75565b6112fc60668561202c565b156113495760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520616c7265616479206578697374730000604482015260640161055d565b6113568460406001612038565b61139f5760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b604482015260640161055d565b6113aa6066856120ab565b506000848152606860205260409020806113c48582612b0b565b50600281016113d38482612b0b565b50600481016113e28382612b0b565b50847f39626dd6a5a74e9944752116c5e878fbb4c1ac0cab72cd316f6f25ee19cff7658585856040516110d393929190612cc0565b6000828152606860205260409020600681015460609190600160301b900462ffffff168310611456575050604080516020810190915260008152610b8d565b60008381526005820160205260409020546108c2906001600160a01b03166120b7565b60006111ba6069611d1c565b61149563bbf2aefb60e01b611c75565b61149e81611cc5565b6114a783611d39565b6001600160a01b0383166000818152606b6020908152604080832086845282529182902084905590518381528492917f27d39273f3676c181ec3de60b583da776123d9f9517761fb91f370a83c798918910160405180910390a3505050565b611516635f1e9f7360e11b611c75565b61151f82611cc5565b60008281526068602052604090206115378282612b0b565b50817fc9890a31ec780bb5a8a017d683d3913f97260548d71c2cee78194ed2833f023582604051610bf89190612744565b600054610100900460ff16158080156115885750600054600160ff909116105b806115a25750303b1580156115a2575060005460ff166001145b6116055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161055d565b6000805460ff191660011790558015611628576000805461ff0019166101001790555b611630612142565b61163982612001565b801561167f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b611693636d3c087f60e11b611c75565b61169c81611da3565b6116a583611cc5565b6000838152606860205260409020600681015462ffffff168084106116dc5760405162461bcd60e51b815260040161055d906128ed565b600084815260018301602052604090206116f68482612b0b565b50847f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d84866040516110d3929190612c9e565b61173963dbc71ccb60e01b611c75565b61174281612171565b61174d6069826121c5565b156117975760405162461bcd60e51b815260206004820152601a60248201527910dbdb9d1c9858dd08185b1c9958591e481cdd5c1c1bdc9d195960321b604482015260640161055d565b6117a26069826121da565b506040516001600160a01b038216907f59e1b889b92ad05213b7934a67c5d824348c868455d1c741a2cfe16e46d832dc90600090a250565b6117ea636e19fa5760e11b611c75565b6117f381611da3565b6117fc82611cc5565b600082815260686020526040902061181382611ea9565b600682018054600160301b9081900462ffffff9081166000908152600586016020526040902080546001600160a01b0319166001600160a01b039590951694909417909355905461186992919004166001612d03565b60068201805462ffffff92909216600160301b0262ffffff60301b199092169190911790556040518390600080516020612e8d83398151915290600090a2505050565b6118bc63f146f17f60e01b611c75565b6118c581611da3565b6118ce82611cc5565b6000828152606860209081526040808320600681015462ffffff168085526001820190935292206118ff8482612b0b565b5061190b816001612c8b565b8260060160006101000a81548162ffffff021916908362ffffff160217905550837f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d8483604051611018929190612c9e565b611965611fa2565b6001600160a01b0381166119ca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b6119d381612001565b50565b6119e663f73f499160e01b611c75565b6001600160a01b0382166000908152606b60209081526040808320848452909152902054611a545760405162461bcd60e51b815260206004820152601b60248201527a139bc81bdd995c9c9a5919481cd95d08199bdc881c1c9bda9958dd602a1b604482015260640161055d565b6001600160a01b0382166000818152606b60209081526040808320858452909152808220829055518392917f0732620824c0200808d04ab037f3abc3c31853170b90f5a855d32f44486048ed91a35050565b611ab6637c560c5f60e11b611c75565b611abf81611cc5565b6000818152606860205260409020600681015462ffffff16158015611af2575060068101546301000000900462ffffff16155b8015611b0c57506006810154600160301b900462ffffff16155b611b8e5760405162461bcd60e51b815260206004820152604760248201527f43616e6e6f742072656d6f766520646570656e64656e6379207769746820616460448201527f646974696f6e616c2043444e732c207265706f7369746f726965732c206f72206064820152667363726970747360c81b608482015260a40161055d565b611b996066836121ef565b50600082815260686020526040812090611bb382826123fc565b611bc16002830160006123fc565b611bcf6004830160006123fc565b5060060180546001600160481b031916905560405182907f60e2aa021c4f5303dd65e2173f0180636e4d42eaefc6187278e92bee9d06aa7290600090a25050565b611c20637ce07d7360e11b611c75565b611c2982611cc5565b6000828152606860205260409020600201611c448282612b0b565b50817f774918414e4887efe5349a305fe253ee8b1e3fe0c2117012f0c215645693cbfd82604051610bf89190612744565b611c8033308361081e565b6119d35760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604482015260640161055d565b611cd060668261202c565b6119d35760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520646f6573206e6f742065786973740000604482015260640161055d565b6000610b8d825490565b6000611d3283836121fb565b9392505050565b611d446069826121c5565b6119d35760405162461bcd60e51b815260206004820152601b60248201527a10dbdc994818dbdb9d1c9858dd081b9bdd081cdd5c1c1bdc9d1959602a1b604482015260640161055d565b6000611d32836001600160a01b038416612225565b80516000036119d35760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b604482015260640161055d565b6000816001600160a01b0316604051611e16906001600160f81b0319815260010190565b6000604051808303816000865af19150503d8060008114611e53576040519150601f19603f3d011682016040523d82523d6000602084013e611e58565b606091505b505090508061167f5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f7200604482015260640161055d565b6000803083604051602001611ebf929190612d3b565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216611f315760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f720000604482015260640161055d565b50919050565b606060005b828160ff1660208110611f5157611f51612aba565b1a60f81b6001600160f81b03191615801590611f70575060208160ff16105b15611f875780611f7f81612e0c565b915050611f3c565b60405191506040820160405280825282602083015250919050565b33611fab6112a2565b6001600160a01b0316146111ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055d565b61200a81612318565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b6000611d32838361236a565b600080805b60208160ff161015612097576000868260ff166020811061206057612060612aba565b1a90508015801590612075575060808160ff16105b1561208e578560ff168160ff160361208e578260010192505b5060010161203d565b8360ff168260ff1614925050509392505050565b6000611d328383612382565b6060813b60688110806120c8575080155b156121155760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604482015260640161055d565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b600054610100900460ff166121695760405162461bcd60e51b815260040161055d90612e2b565b6111ac6123cc565b6001600160a01b0381166119d35760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604482015260640161055d565b6000611d32836001600160a01b03841661236a565b6000611d32836001600160a01b038416612382565b6000611d328383612225565b600082600001828154811061221257612212612aba565b9060005260206000200154905092915050565b6000818152600183016020526040812054801561230e576000612249600183612935565b855490915060009061225d90600190612935565b90508181146122c257600086600001828154811061227d5761227d612aba565b90600052602060002001549050808760000184815481106122a0576122a0612aba565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122d3576122d3612e76565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b8d565b6000915050610b8d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60009081526001919091016020526040902054151590565b600061238e838361236a565b6123c457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b8d565b506000610b8d565b600054610100900460ff166123f35760405162461bcd60e51b815260040161055d90612e2b565b6111ac33612001565b50805461240890612948565b6000825580601f10612418575050565b601f0160209004906000526020600020908101906119d391905b808211156124465760008155600101612432565b5090565b6000806040838503121561245d57600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156124ad5783516001600160a01b031683529284019291840191600101612488565b50909695505050505050565b80356001600160a01b03811681146124d057600080fd5b919050565b6000602082840312156124e757600080fd5b611d32826124b9565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561252e5761252e6124f0565b604052919050565b60006001600160401b0382111561254f5761254f6124f0565b50601f01601f191660200190565b600082601f83011261256e57600080fd5b813561258161257c82612536565b612506565b81815284602083860101111561259657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156125c857600080fd5b833592506020840135915060408401356001600160401b038111156125ec57600080fd5b6125f88682870161255d565b9150509250925092565b60008060006060848603121561261757600080fd5b612620846124b9565b925061262e602085016124b9565b915060408401356001600160e01b03198116811461264b57600080fd5b809150509250925092565b60006020828403121561266857600080fd5b5035919050565b60005b8381101561268a578181015183820152602001612672565b50506000910152565b600081518084526126ab81602086016020860161266f565b601f01601f19169290920160200192915050565b60006101008083526126d38184018c612693565b905082810360208401526126e7818b612693565b905062ffffff808a1660408501528382036060850152612707828a612693565b9150808816608085015283820360a08501526127238288612693565b925085151560c085015280851660e085015250509998505050505050505050565b602081526000611d326020830184612693565b6000806040838503121561276a57600080fd5b8235915060208301356001600160401b0381111561278757600080fd5b6127938582860161255d565b9150509250929050565b600080604083850312156127b057600080fd5b6127b9836124b9565b946020939093013593505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561281c57603f1988860301845261280a858351612693565b945092850192908501906001016127ee565b5092979650505050505050565b6000806000806080858703121561283f57600080fd5b8435935060208501356001600160401b038082111561285d57600080fd5b6128698883890161255d565b9450604087013591508082111561287f57600080fd5b61288b8883890161255d565b935060608701359150808211156128a157600080fd5b506128ae8782880161255d565b91505092959194509250565b6000806000606084860312156128cf57600080fd5b6128d8846124b9565b95602085013595506040909401359392505050565b602080825260189082015277417373657420696e646578206f7574206f662072616e676560401b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b8d57610b8d61291f565b600181811c9082168061295c57607f821691505b602082108103611f3157634e487b7160e01b600052602260045260246000fd5b601f8211156129c657600081815260208120601f850160051c810160208610156129a35750805b601f850160051c820191505b818110156129c2578281556001016129af565b5050505b505050565b600019600383901b1c191660019190911b1790565b8181036129eb575050565b6129f58254612948565b6001600160401b03811115612a0c57612a0c6124f0565b612a2081612a1a8454612948565b8461297c565b6000601f821160018114612a4e5760008315612a3c5750848201545b612a4684826129cb565b855550612ab3565b600085815260209020601f19841690600086815260209020845b83811015612a885782860154825560019586019590910190602001612a68565b5085831015612aa65781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201612ae257612ae261291f565b5060010190565b600060208284031215612afb57600080fd5b81518015158114611d3257600080fd5b81516001600160401b03811115612b2457612b246124f0565b612b3281612a1a8454612948565b602080601f831160018114612b615760008415612b4f5750858301515b612b5985826129cb565b8655506129c2565b600085815260208120601f198616915b82811015612b9057888601518255948401946001909101908401612b71565b5085821015612bae5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112612bcf57600080fd5b8151612bdd61257c82612536565b818152846020838601011115612bf257600080fd5b6108c282602083016020870161266f565b600080600060608486031215612c1857600080fd5b83516001600160401b0380821115612c2f57600080fd5b612c3b87838801612bbe565b94506020860151915080821115612c5157600080fd5b50612c5e86828701612bbe565b925050604084015190509250925092565b62ffffff8281168282160390808211156106be576106be61291f565b80820180821115610b8d57610b8d61291f565b604081526000612cb16040830185612693565b90508260208301529392505050565b606081526000612cd36060830186612693565b8281036020840152612ce58186612693565b90508281036040840152612cf98185612693565b9695505050505050565b62ffffff8181168382160190808211156106be576106be61291f565b60008151612d3181856020860161266f565b9290920192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e830152612de06053830160008152600c0190565b612df6818660601b6001600160601b0319169052565b612e036014820185612d1f565b95945050505050565b600060ff821660ff8103612e2257612e2261291f565b60010192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603160045260246000fdfef79e11fc86b9bf37d5dfd4359c053136f7c046da6a08f9cf7ca56d80d5aab839a2646970667358221220a150f65dee1acc9cd356a2b7e314fe808b0139b43622b2180e0075309f47869f64736f6c63430008110033",
1018
- "linkReferences": {},
1019
- "deployedLinkReferences": {}
1100
+ "bytecode": "0x608060405234801561001057600080fd5b5061311d806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f25760003560e01c80638da5cb5b116101165780638da5cb5b146103d4578063a1a7a47b146103dc578063a809c1fc146103ef578063b86b69f114610402578063ba2285121461040a578063bbf2aefb1461041d578063bd880b4614610430578063be3d3ee614610443578063c0cd565f14610456578063c4d66de814610469578063caaa3bb71461047c578063cea2961a1461048f578063dbc71ccb146104a2578063dc33f4ae146104b5578063dfa3be53146104c8578063f0b99382146104db578063f146f17f146104ee578063f2fde38b14610501578063f73f499114610514578063f8ac18be14610527578063f9c0fae61461053a57600080fd5b8062e87903146101f757806307f9f786146102205780631376218614610235578063199eb8e01461024a5780631a051d491461025d5780631e9bef4614610270578063230448b11461029057806325ffb376146102b35780633bd7cfa2146102da5780633e76919a146102ed578063474bbdc2146103005780634bd1a38714610313578063518cb3df1461032657806351eda9991461033957806352ccc0211461034e5780635668bc5e146103615780635710f83d1461039e5780636dfa9f56146103b1578063715018a6146103c45780637cbb45c8146103cc575b600080fd5b61020a61020536600461262e565b61054d565b60405161021791906126a0565b60405180910390f35b610228610617565b60405161021791906126b3565b6102486102433660046127c3565b6106c6565b005b61024861025836600461282e565b610766565b61024861026b3660046127c3565b6107c1565b606554610283906001600160a01b031681565b6040516102179190612849565b6102a361029e36600461285d565b610861565b6040519015158152602001610217565b6102c66102c13660046128b1565b61090f565b6040516102179897969594939291906128ca565b6102486102e836600461294f565b610b26565b6102836102fb3660046128b1565b610b97565b61020a61030e366004612995565b610bb7565b6102486103213660046129bf565b610cf8565b61020a61033436600461262e565b610dbb565b610341610faa565b60405161021791906129eb565b61024861035c3660046128b1565b611069565b61039061036f3660046128b1565b600090815260686020526040902060060154600160301b900462ffffff1690565b604051908152602001610217565b6102486103ac36600461294f565b61117d565b6102486103bf36600461262e565b611235565b610248611327565b61039061133b565b61028361134c565b6102486103ea36600461262e565b611360565b6102486103fd366004612a4d565b61142e565b610390611573565b61039061041836600461262e565b61157f565b61024861042b366004612ade565b61164f565b61020a61043e3660046128b1565b6116d0565b61024861045136600461294f565b6116ee565b610248610464366004612b11565b611750565b61024861047736600461282e565b6117e0565b61024861048a3660046127c3565b6118fb565b6102a361049d36600461282e565b611994565b6102486104b036600461282e565b6119a1565b6102486104c336600461294f565b611a52565b6102836104d636600461262e565b611ae1565b61020a6104e936600461262e565b611b2a565b6102486104fc36600461294f565b611b73565b61024861050f36600461282e565b611c24565b610248610522366004612995565b611c9d565b6102486105353660046128b1565b611d6d565b61024861054836600461294f565b611ed7565b600082815260686020526040902060068101546060919061057490849062ffffff16611f3c565b60008381526001820160205260409020805461058f90612b46565b80601f01602080910402602001604051908101604052809291908181526020018280546105bb90612b46565b80156106085780601f106105dd57610100808354040283529160200191610608565b820191906000526020600020905b8154815290600101906020018083116105eb57829003601f168201915b50505050509150505b92915050565b606060006106256069611f80565b90506000816001600160401b0381111561064157610641612700565b60405190808252806020026020018201604052801561066a578160200160208202803683370190505b50905060005b828110156106bf57610683606982611f8a565b82828151811061069557610695612b7a565b6001600160a01b0390921660209283029190910190910152806106b781612ba6565b915050610670565b5092915050565b6106d66309bb10c360e11b611f96565b6106df81611fe6565b6106e883612035565b6000838152606860205260409020600681015461070b90849062ffffff16611f3c565b600083815260018201602052604090206107258382612c23565b50837f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d8385604051610758929190612cdc565b60405180910390a250505050565b61077562ccf5c760e51b611f96565b61077e8161208c565b6107896069826120e1565b506040516001600160a01b038216907f2453d2f77bae1012d39e2257356d2566625ebe0ffd6094198aa051689dc65ba090600090a250565b6107d1631a051d4960e01b611f96565b6107da81611fe6565b6107e383612035565b6000838152606860205260409020600681015461080d908490600160301b900462ffffff16611f3c565b610816826120f6565b600084815260058301602052604080822080546001600160a01b0319166001600160a01b039490941693909317909255905185916000805160206130c883398151915291a250505050565b60008061086c61134c565b6001600160a01b03161415801561090557506065546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af11580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109059190612cfe565b90505b9392505050565b60008181526068602052604081206060918291829082908290829081906109358a6121a6565b60068201548254839162ffffff808216926002850192630100000081048316926004870192600160301b9092041680151591879061097290612b46565b80601f016020809104026020016040519081016040528092919081815260200182805461099e90612b46565b80156109eb5780601f106109c0576101008083540402835291602001916109eb565b820191906000526020600020905b8154815290600101906020018083116109ce57829003601f168201915b505050505096508480546109fe90612b46565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2a90612b46565b8015610a775780601f10610a4c57610100808354040283529160200191610a77565b820191906000526020600020905b815481529060010190602001808311610a5a57829003601f168201915b50505050509450828054610a8a90612b46565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab690612b46565b8015610b035780601f10610ad857610100808354040283529160200191610b03565b820191906000526020600020905b815481529060010190602001808311610ae657829003601f168201915b505050505092509850985098509850985098509850985050919395975091939597565b610b36631debe7d160e11b611f96565b610b3f82612035565b6000828152606860205260409020600401610b5a8282612c23565b50817f9959f3af1c0191277b92c192984b5ca38adaf82d8465332b4da850e0e6a199f482604051610b8b91906126a0565b60405180910390a25050565b6000610bac82610ba76069611f80565b611f3c565b610611606983611f8a565b6060610bc28361208c565b6001600160a01b0383166000908152606b602090815260408083208584529091529020548015610bfd57610bf5816121a6565b915050610611565b604051633ae7357560e21b8152600481018490526001600160a01b0385169063eb9cd5d490602401600060405180830381865afa925050508015610c6357506040513d6000823e601f3d908101601f19168201604052610c609190810190612d70565b60015b610cec5760405162461bcd60e51b815260206004820152604960248201527f436f6e747261637420646f6573206e6f7420696d706c656d656e742070726f6a60448201527f65637453637269707444657461696c7320616e6420686173206e6f206f7665726064820152683934b2329039b2ba1760b91b608482015260a4015b60405180910390fd5b82945050505050610611565b610d08634bd1a38760e01b611f96565b610d1181612211565b610d1a82612035565b6000828152606860209081526040808320600681018054600160301b9081900462ffffff9081168752600584019095529290942080546001600160a01b0319166001600160a01b0387161790559254610d7892919004166001612ddc565b60068201805462ffffff92909216600160301b0262ffffff60301b1990921691909117905560405183906000805160206130c883398151915290600090a2505050565b6000828152606860205260409020600681015460609190610de9908490600160301b900462ffffff16611f3c565b600083815260058201602052604080822054905163cc31a33160e01b81526001600160a01b03909116919073__$55f4e50e6128becd8bf164b272db98df09$__9063cc31a33190610e3e908590600401612849565b602060405180830381865af4158015610e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612df8565b90507f554e4b4e4f574e5f56455253494f4e5f535452494e475f5f5f5f5f5f5f5f5f208103610f2e57604051632475d70960e01b815273__$55f4e50e6128becd8bf164b272db98df09$__90632475d70990610edf908590600401612849565b600060405180830381865af4158015610efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f249190810190612e11565b9350505050610611565b604051630eacc5e760e31b815273__$55f4e50e6128becd8bf164b272db98df09$__906375662f3890610f65908590600401612849565b600060405180830381865af4158015610f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f249190810190612e59565b60606000610fb86066611f80565b6001600160401b03811115610fcf57610fcf612700565b60405190808252806020026020018201604052801561100257816020015b6060815260200190600190039081610fed5790505b50905060006110116066611f80565b905060005b818110156110615761103161102c606683611f8a565b6121a6565b83828151811061104357611043612b7a565b6020026020010181905250808061105990612ba6565b915050611016565b509092915050565b6110796352ccc02160e01b611f96565b61108281612035565b60008181526068602052604090206006810154600160301b900462ffffff166110ed5760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f766500006044820152606401610ce3565b6006810154600582019060009061111290600190600160301b900462ffffff16612e8d565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b031916905560068401805462ffffff60301b198116600160301b9182900486166000190190951602939093179092555183916000805160206130c883398151915291a25050565b61118d635710f83d60e01b611f96565b61119681611fe6565b61119f82612035565b600082815260686020908152604080832060068101546301000000900462ffffff168085526003820190935292206111d78482612c23565b506111e3816001612ea9565b8260060160036101000a81548162ffffff021916908362ffffff160217905550837ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde8483604051610758929190612cdc565b6112456336fd4fab60e11b611f96565b61124e82612035565b600082815260686020526040902060068101546301000000900462ffffff166112778382611f3c565b6000611284600183612ebc565b6000868152606860209081526040808320848452600390810183528184208985529088019092529091209192506112bb9082612ecf565b50600081815260038401602052604081206112d5916125e0565b60068301805465ffffff0000001916630100000062ffffff841602179055604051849086907fc02725dfc9639e3399432cdae3db1c062229f4cc41bcc18631517617c020b71c90600090a35050505050565b61132f612265565b61133960006122c4565b565b60006113476066611f80565b905090565b60006113476033546001600160a01b031690565b61137063a1a7a47b60e01b611f96565b61137982612035565b6000828152606860205260409020600681015462ffffff1661139b8382611f3c565b60006113a8600183612ebc565b600081815260018501602052604080822087835291209192506113cb9082612ecf565b50600081815260018401602052604081206113e5916125e0565b60068301805462ffffff191662ffffff8316179055604051849086907f225454b600cf489553fde6e3b7f5e458b1093c035390b678067ea799b3b016cd90600090a35050505050565b61143e632a02707f60e21b611f96565b6114496066856122ef565b156114965760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520616c72656164792065786973747300006044820152606401610ce3565b6114a384604060016122fb565b6114ec5760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610ce3565b6114f760668561236e565b506000848152606860205260409020806115118582612c23565b50600281016115208482612c23565b506004810161152f8382612c23565b50847f39626dd6a5a74e9944752116c5e878fbb4c1ac0cab72cd316f6f25ee19cff76585858560405161156493929190612fa3565b60405180910390a25050505050565b60006113476069611f80565b600082815260686020526040812060068101546115a9908490600160301b900462ffffff16611f3c565b60008481526068602090815260408083208684526005019091529081902054905163cc31a33160e01b815273__$55f4e50e6128becd8bf164b272db98df09$__9163cc31a33191611606916001600160a01b031690600401612849565b602060405180830381865af4158015611623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116479190612df8565b949350505050565b61165f63bbf2aefb60e01b611f96565b61166881612035565b6116718361208c565b6001600160a01b0383166000818152606b6020908152604080832086845282529182902084905590518381528492917f27d39273f3676c181ec3de60b583da776123d9f9517761fb91f370a83c798918910160405180910390a3505050565b60606116e082610ba76066611f80565b61061161102c606684611f8a565b6116fe635f1e9f7360e11b611f96565b61170782612035565b600082815260686020526040902061171f8282612c23565b50817fc9890a31ec780bb5a8a017d683d3913f97260548d71c2cee78194ed2833f023582604051610b8b91906126a0565b61176063c0cd565f60e01b611f96565b61176981612211565b61177283612035565b6000838152606860205260409020600681015461179c908490600160301b900462ffffff16611f3c565b600083815260058201602052604080822080546001600160a01b0319166001600160a01b0386161790555185916000805160206130c883398151915291a250505050565b600054610100900460ff16158080156118005750600054600160ff909116105b8061181a5750303b15801561181a575060005460ff166001145b61187d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ce3565b6000805460ff1916600117905580156118a0576000805461ff0019166101001790555b6118a861237a565b6118b1826122c4565b80156118f7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61190b63caaa3bb760e01b611f96565b61191481611fe6565b61191d83612035565b600083815260686020526040902060068101546119479084906301000000900462ffffff16611f3c565b600083815260038201602052604090206119618382612c23565b50837ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde8385604051610758929190612cdc565b60006106116069836123a9565b6119b163dbc71ccb60e01b611f96565b6119ba81612211565b6119c56069826123a9565b15611a0f5760405162461bcd60e51b815260206004820152601a60248201527910dbdb9d1c9858dd08185b1c9958591e481cdd5c1c1bdc9d195960321b6044820152606401610ce3565b611a1a6069826123be565b506040516001600160a01b038216907f59e1b889b92ad05213b7934a67c5d824348c868455d1c741a2cfe16e46d832dc90600090a250565b611a62636e19fa5760e11b611f96565b611a6b81611fe6565b611a7482612035565b6000828152606860205260409020611a8b826120f6565b600682018054600160301b9081900462ffffff9081166000908152600586016020526040902080546001600160a01b0319166001600160a01b0395909516949094179093559054610d7892919004166001612ddc565b60008281526068602052604081206006810154611b0b908490600160301b900462ffffff16611f3c565b60009283526005016020525060409020546001600160a01b0316919050565b6000828152606860205260409020600681015460609190611b589084906301000000900462ffffff16611f3c565b60008381526003820160205260409020805461058f90612b46565b611b8363f146f17f60e01b611f96565b611b8c81611fe6565b611b9582612035565b6000828152606860209081526040808320600681015462ffffff16808552600182019093529220611bc68482612c23565b50611bd2816001612ea9565b8260060160006101000a81548162ffffff021916908362ffffff160217905550837f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d8483604051610758929190612cdc565b611c2c612265565b6001600160a01b038116611c915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ce3565b611c9a816122c4565b50565b611cad63f73f499160e01b611f96565b6001600160a01b0382166000908152606b60209081526040808320848452909152902054611d1b5760405162461bcd60e51b815260206004820152601b60248201527a139bc81bdd995c9c9a5919481cd95d08199bdc881c1c9bda9958dd602a1b6044820152606401610ce3565b6001600160a01b0382166000818152606b60209081526040808320858452909152808220829055518392917f0732620824c0200808d04ab037f3abc3c31853170b90f5a855d32f44486048ed91a35050565b611d7d637c560c5f60e11b611f96565b611d8681612035565b6000818152606860205260409020600681015462ffffff16158015611db9575060068101546301000000900462ffffff16155b8015611dd357506006810154600160301b900462ffffff16155b611e555760405162461bcd60e51b815260206004820152604760248201527f43616e6e6f742072656d6f766520646570656e64656e6379207769746820616460448201527f646974696f6e616c2043444e732c207265706f7369746f726965732c206f72206064820152667363726970747360c81b608482015260a401610ce3565b611e606066836123d3565b50600082815260686020526040812090611e7a82826125e0565b611e886002830160006125e0565b611e966004830160006125e0565b5060060180546001600160481b031916905560405182907f60e2aa021c4f5303dd65e2173f0180636e4d42eaefc6187278e92bee9d06aa7290600090a25050565b611ee7637ce07d7360e11b611f96565b611ef082612035565b6000828152606860205260409020600201611f0b8282612c23565b50817f774918414e4887efe5349a305fe253ee8b1e3fe0c2117012f0c215645693cbfd82604051610b8b91906126a0565b8082106118f75760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b6044820152606401610ce3565b6000610611825490565b600061090883836123df565b611fa1333083610861565b611c9a5760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b6044820152606401610ce3565b8051600003611c9a5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b6044820152606401610ce3565b6120406066826122ef565b611c9a5760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520646f6573206e6f7420657869737400006044820152606401610ce3565b6120976069826123a9565b611c9a5760405162461bcd60e51b815260206004820152601b60248201527a10dbdc994818dbdb9d1c9858dd081b9bdd081cdd5c1c1bdc9d1959602a1b6044820152606401610ce3565b6000610908836001600160a01b038416612409565b6000807f42797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f20308460405160200161212e93929190612fe6565b60405160208183030381529060405290508051602082016000f091506001600160a01b0382166121a05760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610ce3565b50919050565b606060005b828160ff16602081106121c0576121c0612b7a565b1a60f81b6001600160f81b031916158015906121df575060208160ff16105b156121f657806121ee81613047565b9150506121ab565b60405191506040820160405280825282602083015250919050565b6001600160a01b038116611c9a5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b6044820152606401610ce3565b3361226e61134c565b6001600160a01b0316146113395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce3565b6122cd816124fc565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610908838361254e565b600080805b60208160ff16101561235a576000868260ff166020811061232357612323612b7a565b1a90508015801590612338575060808160ff16105b15612351578560ff168160ff1603612351578260010192505b50600101612300565b8360ff168260ff1614925050509392505050565b60006109088383612566565b600054610100900460ff166123a15760405162461bcd60e51b8152600401610ce390613066565b6113396125b0565b6000610908836001600160a01b03841661254e565b6000610908836001600160a01b038416612566565b60006109088383612409565b60008260000182815481106123f6576123f6612b7a565b9060005260206000200154905092915050565b600081815260018301602052604081205480156124f257600061242d600183612ebc565b855490915060009061244190600190612ebc565b90508181146124a657600086600001828154811061246157612461612b7a565b906000526020600020015490508087600001848154811061248457612484612b7a565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806124b7576124b76130b1565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610611565b6000915050610611565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60009081526001919091016020526040902054151590565b6000612572838361254e565b6125a857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610611565b506000610611565b600054610100900460ff166125d75760405162461bcd60e51b8152600401610ce390613066565b611339336122c4565b5080546125ec90612b46565b6000825580601f106125fc575050565b601f016020900490600052602060002090810190611c9a91905b8082111561262a5760008155600101612616565b5090565b6000806040838503121561264157600080fd5b50508035926020909101359150565b60005b8381101561266b578181015183820152602001612653565b50506000910152565b6000815180845261268c816020860160208601612650565b601f01601f19169290920160200192915050565b6020815260006109086020830184612674565b6020808252825182820181905260009190848201906040850190845b818110156126f45783516001600160a01b0316835292840192918401916001016126cf565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561273e5761273e612700565b604052919050565b60006001600160401b0382111561275f5761275f612700565b50601f01601f191660200190565b600082601f83011261277e57600080fd5b813561279161278c82612746565b612716565b8181528460208386010111156127a657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156127d857600080fd5b833592506020840135915060408401356001600160401b038111156127fc57600080fd5b6128088682870161276d565b9150509250925092565b80356001600160a01b038116811461282957600080fd5b919050565b60006020828403121561284057600080fd5b61090882612812565b6001600160a01b0391909116815260200190565b60008060006060848603121561287257600080fd5b61287b84612812565b925061288960208501612812565b915060408401356001600160e01b0319811681146128a657600080fd5b809150509250925092565b6000602082840312156128c357600080fd5b5035919050565b60006101008083526128de8184018c612674565b905082810360208401526128f2818b612674565b905062ffffff808a1660408501528382036060850152612912828a612674565b9150808816608085015283820360a085015261292e8288612674565b925085151560c085015280851660e085015250509998505050505050505050565b6000806040838503121561296257600080fd5b8235915060208301356001600160401b0381111561297f57600080fd5b61298b8582860161276d565b9150509250929050565b600080604083850312156129a857600080fd5b6129b183612812565b946020939093013593505050565b600080604083850312156129d257600080fd5b823591506129e260208401612812565b90509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a4057603f19888603018452612a2e858351612674565b94509285019290850190600101612a12565b5092979650505050505050565b60008060008060808587031215612a6357600080fd5b8435935060208501356001600160401b0380821115612a8157600080fd5b612a8d8883890161276d565b94506040870135915080821115612aa357600080fd5b612aaf8883890161276d565b93506060870135915080821115612ac557600080fd5b50612ad28782880161276d565b91505092959194509250565b600080600060608486031215612af357600080fd5b612afc84612812565b95602085013595506040909401359392505050565b600080600060608486031215612b2657600080fd5b8335925060208401359150612b3d60408501612812565b90509250925092565b600181811c90821680612b5a57607f821691505b6020821081036121a057634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612bb857612bb8612b90565b5060010190565b601f821115612c0957600081815260208120601f850160051c81016020861015612be65750805b601f850160051c820191505b81811015612c0557828155600101612bf2565b5050505b505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115612c3c57612c3c612700565b612c5081612c4a8454612b46565b84612bbf565b602080601f831160018114612c7f5760008415612c6d5750858301515b612c778582612c0e565b865550612c05565b600085815260208120601f198616915b82811015612cae57888601518255948401946001909101908401612c8f565b5085821015612ccc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612cef6040830185612674565b90508260208301529392505050565b600060208284031215612d1057600080fd5b8151801515811461090857600080fd5b6000612d2e61278c84612746565b9050828152838383011115612d4257600080fd5b610908836020830184612650565b600082601f830112612d6157600080fd5b61090883835160208501612d20565b600080600060608486031215612d8557600080fd5b83516001600160401b0380821115612d9c57600080fd5b612da887838801612d50565b94506020860151915080821115612dbe57600080fd5b50612dcb86828701612d50565b925050604084015190509250925092565b62ffffff8181168382160190808211156106bf576106bf612b90565b600060208284031215612e0a57600080fd5b5051919050565b600060208284031215612e2357600080fd5b81516001600160401b03811115612e3957600080fd5b8201601f81018413612e4a57600080fd5b61164784825160208401612d20565b600060208284031215612e6b57600080fd5b81516001600160401b03811115612e8157600080fd5b61164784828501612d50565b62ffffff8281168282160390808211156106bf576106bf612b90565b8082018082111561061157610611612b90565b8181038181111561061157610611612b90565b818103612eda575050565b612ee48254612b46565b6001600160401b03811115612efb57612efb612700565b612f0981612c4a8454612b46565b6000601f821160018114612f375760008315612f255750848201545b612f2f8482612c0e565b855550612f9c565b600085815260209020601f19841690600086815260209020845b83811015612f715782860154825560019586019590910190602001612f51565b5085831015612f8f5781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b606081526000612fb66060830186612674565b8281036020840152612fc88186612674565b90508281036040840152612fdc8185612674565b9695505050505050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152825161303881604c850160208701612650565b91909101604c01949350505050565b600060ff821660ff810361305d5761305d612b90565b60010192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603160045260246000fdfef79e11fc86b9bf37d5dfd4359c053136f7c046da6a08f9cf7ca56d80d5aab839a2646970667358221220b96a0622d27a10bb89e881ac599099fe1d5de63ab3afef59e8def32cc4dca6b664736f6c63430008130033",
1101
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101f25760003560e01c80638da5cb5b116101165780638da5cb5b146103d4578063a1a7a47b146103dc578063a809c1fc146103ef578063b86b69f114610402578063ba2285121461040a578063bbf2aefb1461041d578063bd880b4614610430578063be3d3ee614610443578063c0cd565f14610456578063c4d66de814610469578063caaa3bb71461047c578063cea2961a1461048f578063dbc71ccb146104a2578063dc33f4ae146104b5578063dfa3be53146104c8578063f0b99382146104db578063f146f17f146104ee578063f2fde38b14610501578063f73f499114610514578063f8ac18be14610527578063f9c0fae61461053a57600080fd5b8062e87903146101f757806307f9f786146102205780631376218614610235578063199eb8e01461024a5780631a051d491461025d5780631e9bef4614610270578063230448b11461029057806325ffb376146102b35780633bd7cfa2146102da5780633e76919a146102ed578063474bbdc2146103005780634bd1a38714610313578063518cb3df1461032657806351eda9991461033957806352ccc0211461034e5780635668bc5e146103615780635710f83d1461039e5780636dfa9f56146103b1578063715018a6146103c45780637cbb45c8146103cc575b600080fd5b61020a61020536600461262e565b61054d565b60405161021791906126a0565b60405180910390f35b610228610617565b60405161021791906126b3565b6102486102433660046127c3565b6106c6565b005b61024861025836600461282e565b610766565b61024861026b3660046127c3565b6107c1565b606554610283906001600160a01b031681565b6040516102179190612849565b6102a361029e36600461285d565b610861565b6040519015158152602001610217565b6102c66102c13660046128b1565b61090f565b6040516102179897969594939291906128ca565b6102486102e836600461294f565b610b26565b6102836102fb3660046128b1565b610b97565b61020a61030e366004612995565b610bb7565b6102486103213660046129bf565b610cf8565b61020a61033436600461262e565b610dbb565b610341610faa565b60405161021791906129eb565b61024861035c3660046128b1565b611069565b61039061036f3660046128b1565b600090815260686020526040902060060154600160301b900462ffffff1690565b604051908152602001610217565b6102486103ac36600461294f565b61117d565b6102486103bf36600461262e565b611235565b610248611327565b61039061133b565b61028361134c565b6102486103ea36600461262e565b611360565b6102486103fd366004612a4d565b61142e565b610390611573565b61039061041836600461262e565b61157f565b61024861042b366004612ade565b61164f565b61020a61043e3660046128b1565b6116d0565b61024861045136600461294f565b6116ee565b610248610464366004612b11565b611750565b61024861047736600461282e565b6117e0565b61024861048a3660046127c3565b6118fb565b6102a361049d36600461282e565b611994565b6102486104b036600461282e565b6119a1565b6102486104c336600461294f565b611a52565b6102836104d636600461262e565b611ae1565b61020a6104e936600461262e565b611b2a565b6102486104fc36600461294f565b611b73565b61024861050f36600461282e565b611c24565b610248610522366004612995565b611c9d565b6102486105353660046128b1565b611d6d565b61024861054836600461294f565b611ed7565b600082815260686020526040902060068101546060919061057490849062ffffff16611f3c565b60008381526001820160205260409020805461058f90612b46565b80601f01602080910402602001604051908101604052809291908181526020018280546105bb90612b46565b80156106085780601f106105dd57610100808354040283529160200191610608565b820191906000526020600020905b8154815290600101906020018083116105eb57829003601f168201915b50505050509150505b92915050565b606060006106256069611f80565b90506000816001600160401b0381111561064157610641612700565b60405190808252806020026020018201604052801561066a578160200160208202803683370190505b50905060005b828110156106bf57610683606982611f8a565b82828151811061069557610695612b7a565b6001600160a01b0390921660209283029190910190910152806106b781612ba6565b915050610670565b5092915050565b6106d66309bb10c360e11b611f96565b6106df81611fe6565b6106e883612035565b6000838152606860205260409020600681015461070b90849062ffffff16611f3c565b600083815260018201602052604090206107258382612c23565b50837f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d8385604051610758929190612cdc565b60405180910390a250505050565b61077562ccf5c760e51b611f96565b61077e8161208c565b6107896069826120e1565b506040516001600160a01b038216907f2453d2f77bae1012d39e2257356d2566625ebe0ffd6094198aa051689dc65ba090600090a250565b6107d1631a051d4960e01b611f96565b6107da81611fe6565b6107e383612035565b6000838152606860205260409020600681015461080d908490600160301b900462ffffff16611f3c565b610816826120f6565b600084815260058301602052604080822080546001600160a01b0319166001600160a01b039490941693909317909255905185916000805160206130c883398151915291a250505050565b60008061086c61134c565b6001600160a01b03161415801561090557506065546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af11580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109059190612cfe565b90505b9392505050565b60008181526068602052604081206060918291829082908290829081906109358a6121a6565b60068201548254839162ffffff808216926002850192630100000081048316926004870192600160301b9092041680151591879061097290612b46565b80601f016020809104026020016040519081016040528092919081815260200182805461099e90612b46565b80156109eb5780601f106109c0576101008083540402835291602001916109eb565b820191906000526020600020905b8154815290600101906020018083116109ce57829003601f168201915b505050505096508480546109fe90612b46565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2a90612b46565b8015610a775780601f10610a4c57610100808354040283529160200191610a77565b820191906000526020600020905b815481529060010190602001808311610a5a57829003601f168201915b50505050509450828054610a8a90612b46565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab690612b46565b8015610b035780601f10610ad857610100808354040283529160200191610b03565b820191906000526020600020905b815481529060010190602001808311610ae657829003601f168201915b505050505092509850985098509850985098509850985050919395975091939597565b610b36631debe7d160e11b611f96565b610b3f82612035565b6000828152606860205260409020600401610b5a8282612c23565b50817f9959f3af1c0191277b92c192984b5ca38adaf82d8465332b4da850e0e6a199f482604051610b8b91906126a0565b60405180910390a25050565b6000610bac82610ba76069611f80565b611f3c565b610611606983611f8a565b6060610bc28361208c565b6001600160a01b0383166000908152606b602090815260408083208584529091529020548015610bfd57610bf5816121a6565b915050610611565b604051633ae7357560e21b8152600481018490526001600160a01b0385169063eb9cd5d490602401600060405180830381865afa925050508015610c6357506040513d6000823e601f3d908101601f19168201604052610c609190810190612d70565b60015b610cec5760405162461bcd60e51b815260206004820152604960248201527f436f6e747261637420646f6573206e6f7420696d706c656d656e742070726f6a60448201527f65637453637269707444657461696c7320616e6420686173206e6f206f7665726064820152683934b2329039b2ba1760b91b608482015260a4015b60405180910390fd5b82945050505050610611565b610d08634bd1a38760e01b611f96565b610d1181612211565b610d1a82612035565b6000828152606860209081526040808320600681018054600160301b9081900462ffffff9081168752600584019095529290942080546001600160a01b0319166001600160a01b0387161790559254610d7892919004166001612ddc565b60068201805462ffffff92909216600160301b0262ffffff60301b1990921691909117905560405183906000805160206130c883398151915290600090a2505050565b6000828152606860205260409020600681015460609190610de9908490600160301b900462ffffff16611f3c565b600083815260058201602052604080822054905163cc31a33160e01b81526001600160a01b03909116919073__$55f4e50e6128becd8bf164b272db98df09$__9063cc31a33190610e3e908590600401612849565b602060405180830381865af4158015610e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612df8565b90507f554e4b4e4f574e5f56455253494f4e5f535452494e475f5f5f5f5f5f5f5f5f208103610f2e57604051632475d70960e01b815273__$55f4e50e6128becd8bf164b272db98df09$__90632475d70990610edf908590600401612849565b600060405180830381865af4158015610efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f249190810190612e11565b9350505050610611565b604051630eacc5e760e31b815273__$55f4e50e6128becd8bf164b272db98df09$__906375662f3890610f65908590600401612849565b600060405180830381865af4158015610f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f249190810190612e59565b60606000610fb86066611f80565b6001600160401b03811115610fcf57610fcf612700565b60405190808252806020026020018201604052801561100257816020015b6060815260200190600190039081610fed5790505b50905060006110116066611f80565b905060005b818110156110615761103161102c606683611f8a565b6121a6565b83828151811061104357611043612b7a565b6020026020010181905250808061105990612ba6565b915050611016565b509092915050565b6110796352ccc02160e01b611f96565b61108281612035565b60008181526068602052604090206006810154600160301b900462ffffff166110ed5760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f766500006044820152606401610ce3565b6006810154600582019060009061111290600190600160301b900462ffffff16612e8d565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b031916905560068401805462ffffff60301b198116600160301b9182900486166000190190951602939093179092555183916000805160206130c883398151915291a25050565b61118d635710f83d60e01b611f96565b61119681611fe6565b61119f82612035565b600082815260686020908152604080832060068101546301000000900462ffffff168085526003820190935292206111d78482612c23565b506111e3816001612ea9565b8260060160036101000a81548162ffffff021916908362ffffff160217905550837ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde8483604051610758929190612cdc565b6112456336fd4fab60e11b611f96565b61124e82612035565b600082815260686020526040902060068101546301000000900462ffffff166112778382611f3c565b6000611284600183612ebc565b6000868152606860209081526040808320848452600390810183528184208985529088019092529091209192506112bb9082612ecf565b50600081815260038401602052604081206112d5916125e0565b60068301805465ffffff0000001916630100000062ffffff841602179055604051849086907fc02725dfc9639e3399432cdae3db1c062229f4cc41bcc18631517617c020b71c90600090a35050505050565b61132f612265565b61133960006122c4565b565b60006113476066611f80565b905090565b60006113476033546001600160a01b031690565b61137063a1a7a47b60e01b611f96565b61137982612035565b6000828152606860205260409020600681015462ffffff1661139b8382611f3c565b60006113a8600183612ebc565b600081815260018501602052604080822087835291209192506113cb9082612ecf565b50600081815260018401602052604081206113e5916125e0565b60068301805462ffffff191662ffffff8316179055604051849086907f225454b600cf489553fde6e3b7f5e458b1093c035390b678067ea799b3b016cd90600090a35050505050565b61143e632a02707f60e21b611f96565b6114496066856122ef565b156114965760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520616c72656164792065786973747300006044820152606401610ce3565b6114a384604060016122fb565b6114ec5760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610ce3565b6114f760668561236e565b506000848152606860205260409020806115118582612c23565b50600281016115208482612c23565b506004810161152f8382612c23565b50847f39626dd6a5a74e9944752116c5e878fbb4c1ac0cab72cd316f6f25ee19cff76585858560405161156493929190612fa3565b60405180910390a25050505050565b60006113476069611f80565b600082815260686020526040812060068101546115a9908490600160301b900462ffffff16611f3c565b60008481526068602090815260408083208684526005019091529081902054905163cc31a33160e01b815273__$55f4e50e6128becd8bf164b272db98df09$__9163cc31a33191611606916001600160a01b031690600401612849565b602060405180830381865af4158015611623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116479190612df8565b949350505050565b61165f63bbf2aefb60e01b611f96565b61166881612035565b6116718361208c565b6001600160a01b0383166000818152606b6020908152604080832086845282529182902084905590518381528492917f27d39273f3676c181ec3de60b583da776123d9f9517761fb91f370a83c798918910160405180910390a3505050565b60606116e082610ba76066611f80565b61061161102c606684611f8a565b6116fe635f1e9f7360e11b611f96565b61170782612035565b600082815260686020526040902061171f8282612c23565b50817fc9890a31ec780bb5a8a017d683d3913f97260548d71c2cee78194ed2833f023582604051610b8b91906126a0565b61176063c0cd565f60e01b611f96565b61176981612211565b61177283612035565b6000838152606860205260409020600681015461179c908490600160301b900462ffffff16611f3c565b600083815260058201602052604080822080546001600160a01b0319166001600160a01b0386161790555185916000805160206130c883398151915291a250505050565b600054610100900460ff16158080156118005750600054600160ff909116105b8061181a5750303b15801561181a575060005460ff166001145b61187d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ce3565b6000805460ff1916600117905580156118a0576000805461ff0019166101001790555b6118a861237a565b6118b1826122c4565b80156118f7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61190b63caaa3bb760e01b611f96565b61191481611fe6565b61191d83612035565b600083815260686020526040902060068101546119479084906301000000900462ffffff16611f3c565b600083815260038201602052604090206119618382612c23565b50837ffe07adc986f904acd19c0f4f5d0716973976f0450de010a753a52d119ddadbde8385604051610758929190612cdc565b60006106116069836123a9565b6119b163dbc71ccb60e01b611f96565b6119ba81612211565b6119c56069826123a9565b15611a0f5760405162461bcd60e51b815260206004820152601a60248201527910dbdb9d1c9858dd08185b1c9958591e481cdd5c1c1bdc9d195960321b6044820152606401610ce3565b611a1a6069826123be565b506040516001600160a01b038216907f59e1b889b92ad05213b7934a67c5d824348c868455d1c741a2cfe16e46d832dc90600090a250565b611a62636e19fa5760e11b611f96565b611a6b81611fe6565b611a7482612035565b6000828152606860205260409020611a8b826120f6565b600682018054600160301b9081900462ffffff9081166000908152600586016020526040902080546001600160a01b0319166001600160a01b0395909516949094179093559054610d7892919004166001612ddc565b60008281526068602052604081206006810154611b0b908490600160301b900462ffffff16611f3c565b60009283526005016020525060409020546001600160a01b0316919050565b6000828152606860205260409020600681015460609190611b589084906301000000900462ffffff16611f3c565b60008381526003820160205260409020805461058f90612b46565b611b8363f146f17f60e01b611f96565b611b8c81611fe6565b611b9582612035565b6000828152606860209081526040808320600681015462ffffff16808552600182019093529220611bc68482612c23565b50611bd2816001612ea9565b8260060160006101000a81548162ffffff021916908362ffffff160217905550837f5f667fb1eaf23e0fee1a9dcc154d842202b184eb9ad83502c00c784808a8d00d8483604051610758929190612cdc565b611c2c612265565b6001600160a01b038116611c915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ce3565b611c9a816122c4565b50565b611cad63f73f499160e01b611f96565b6001600160a01b0382166000908152606b60209081526040808320848452909152902054611d1b5760405162461bcd60e51b815260206004820152601b60248201527a139bc81bdd995c9c9a5919481cd95d08199bdc881c1c9bda9958dd602a1b6044820152606401610ce3565b6001600160a01b0382166000818152606b60209081526040808320858452909152808220829055518392917f0732620824c0200808d04ab037f3abc3c31853170b90f5a855d32f44486048ed91a35050565b611d7d637c560c5f60e11b611f96565b611d8681612035565b6000818152606860205260409020600681015462ffffff16158015611db9575060068101546301000000900462ffffff16155b8015611dd357506006810154600160301b900462ffffff16155b611e555760405162461bcd60e51b815260206004820152604760248201527f43616e6e6f742072656d6f766520646570656e64656e6379207769746820616460448201527f646974696f6e616c2043444e732c207265706f7369746f726965732c206f72206064820152667363726970747360c81b608482015260a401610ce3565b611e606066836123d3565b50600082815260686020526040812090611e7a82826125e0565b611e886002830160006125e0565b611e966004830160006125e0565b5060060180546001600160481b031916905560405182907f60e2aa021c4f5303dd65e2173f0180636e4d42eaefc6187278e92bee9d06aa7290600090a25050565b611ee7637ce07d7360e11b611f96565b611ef082612035565b6000828152606860205260409020600201611f0b8282612c23565b50817f774918414e4887efe5349a305fe253ee8b1e3fe0c2117012f0c215645693cbfd82604051610b8b91906126a0565b8082106118f75760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b6044820152606401610ce3565b6000610611825490565b600061090883836123df565b611fa1333083610861565b611c9a5760405162461bcd60e51b815260206004820152601660248201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b6044820152606401610ce3565b8051600003611c9a5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b6044820152606401610ce3565b6120406066826122ef565b611c9a5760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e6379207479706520646f6573206e6f7420657869737400006044820152606401610ce3565b6120976069826123a9565b611c9a5760405162461bcd60e51b815260206004820152601b60248201527a10dbdc994818dbdb9d1c9858dd081b9bdd081cdd5c1c1bdc9d1959602a1b6044820152606401610ce3565b6000610908836001600160a01b038416612409565b6000807f42797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f20308460405160200161212e93929190612fe6565b60405160208183030381529060405290508051602082016000f091506001600160a01b0382166121a05760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610ce3565b50919050565b606060005b828160ff16602081106121c0576121c0612b7a565b1a60f81b6001600160f81b031916158015906121df575060208160ff16105b156121f657806121ee81613047565b9150506121ab565b60405191506040820160405280825282602083015250919050565b6001600160a01b038116611c9a5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b6044820152606401610ce3565b3361226e61134c565b6001600160a01b0316146113395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce3565b6122cd816124fc565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610908838361254e565b600080805b60208160ff16101561235a576000868260ff166020811061232357612323612b7a565b1a90508015801590612338575060808160ff16105b15612351578560ff168160ff1603612351578260010192505b50600101612300565b8360ff168260ff1614925050509392505050565b60006109088383612566565b600054610100900460ff166123a15760405162461bcd60e51b8152600401610ce390613066565b6113396125b0565b6000610908836001600160a01b03841661254e565b6000610908836001600160a01b038416612566565b60006109088383612409565b60008260000182815481106123f6576123f6612b7a565b9060005260206000200154905092915050565b600081815260018301602052604081205480156124f257600061242d600183612ebc565b855490915060009061244190600190612ebc565b90508181146124a657600086600001828154811061246157612461612b7a565b906000526020600020015490508087600001848154811061248457612484612b7a565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806124b7576124b76130b1565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610611565b6000915050610611565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60009081526001919091016020526040902054151590565b6000612572838361254e565b6125a857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610611565b506000610611565b600054610100900460ff166125d75760405162461bcd60e51b8152600401610ce390613066565b611339336122c4565b5080546125ec90612b46565b6000825580601f106125fc575050565b601f016020900490600052602060002090810190611c9a91905b8082111561262a5760008155600101612616565b5090565b6000806040838503121561264157600080fd5b50508035926020909101359150565b60005b8381101561266b578181015183820152602001612653565b50506000910152565b6000815180845261268c816020860160208601612650565b601f01601f19169290920160200192915050565b6020815260006109086020830184612674565b6020808252825182820181905260009190848201906040850190845b818110156126f45783516001600160a01b0316835292840192918401916001016126cf565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561273e5761273e612700565b604052919050565b60006001600160401b0382111561275f5761275f612700565b50601f01601f191660200190565b600082601f83011261277e57600080fd5b813561279161278c82612746565b612716565b8181528460208386010111156127a657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156127d857600080fd5b833592506020840135915060408401356001600160401b038111156127fc57600080fd5b6128088682870161276d565b9150509250925092565b80356001600160a01b038116811461282957600080fd5b919050565b60006020828403121561284057600080fd5b61090882612812565b6001600160a01b0391909116815260200190565b60008060006060848603121561287257600080fd5b61287b84612812565b925061288960208501612812565b915060408401356001600160e01b0319811681146128a657600080fd5b809150509250925092565b6000602082840312156128c357600080fd5b5035919050565b60006101008083526128de8184018c612674565b905082810360208401526128f2818b612674565b905062ffffff808a1660408501528382036060850152612912828a612674565b9150808816608085015283820360a085015261292e8288612674565b925085151560c085015280851660e085015250509998505050505050505050565b6000806040838503121561296257600080fd5b8235915060208301356001600160401b0381111561297f57600080fd5b61298b8582860161276d565b9150509250929050565b600080604083850312156129a857600080fd5b6129b183612812565b946020939093013593505050565b600080604083850312156129d257600080fd5b823591506129e260208401612812565b90509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a4057603f19888603018452612a2e858351612674565b94509285019290850190600101612a12565b5092979650505050505050565b60008060008060808587031215612a6357600080fd5b8435935060208501356001600160401b0380821115612a8157600080fd5b612a8d8883890161276d565b94506040870135915080821115612aa357600080fd5b612aaf8883890161276d565b93506060870135915080821115612ac557600080fd5b50612ad28782880161276d565b91505092959194509250565b600080600060608486031215612af357600080fd5b612afc84612812565b95602085013595506040909401359392505050565b600080600060608486031215612b2657600080fd5b8335925060208401359150612b3d60408501612812565b90509250925092565b600181811c90821680612b5a57607f821691505b6020821081036121a057634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612bb857612bb8612b90565b5060010190565b601f821115612c0957600081815260208120601f850160051c81016020861015612be65750805b601f850160051c820191505b81811015612c0557828155600101612bf2565b5050505b505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115612c3c57612c3c612700565b612c5081612c4a8454612b46565b84612bbf565b602080601f831160018114612c7f5760008415612c6d5750858301515b612c778582612c0e565b865550612c05565b600085815260208120601f198616915b82811015612cae57888601518255948401946001909101908401612c8f565b5085821015612ccc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612cef6040830185612674565b90508260208301529392505050565b600060208284031215612d1057600080fd5b8151801515811461090857600080fd5b6000612d2e61278c84612746565b9050828152838383011115612d4257600080fd5b610908836020830184612650565b600082601f830112612d6157600080fd5b61090883835160208501612d20565b600080600060608486031215612d8557600080fd5b83516001600160401b0380821115612d9c57600080fd5b612da887838801612d50565b94506020860151915080821115612dbe57600080fd5b50612dcb86828701612d50565b925050604084015190509250925092565b62ffffff8181168382160190808211156106bf576106bf612b90565b600060208284031215612e0a57600080fd5b5051919050565b600060208284031215612e2357600080fd5b81516001600160401b03811115612e3957600080fd5b8201601f81018413612e4a57600080fd5b61164784825160208401612d20565b600060208284031215612e6b57600080fd5b81516001600160401b03811115612e8157600080fd5b61164784828501612d50565b62ffffff8281168282160390808211156106bf576106bf612b90565b8082018082111561061157610611612b90565b8181038181111561061157610611612b90565b818103612eda575050565b612ee48254612b46565b6001600160401b03811115612efb57612efb612700565b612f0981612c4a8454612b46565b6000601f821160018114612f375760008315612f255750848201545b612f2f8482612c0e565b855550612f9c565b600085815260209020601f19841690600086815260209020845b83811015612f715782860154825560019586019590910190602001612f51565b5085831015612f8f5781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b606081526000612fb66060830186612674565b8281036020840152612fc88186612674565b90508281036040840152612fdc8185612674565b9695505050505050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152825161303881604c850160208701612650565b91909101604c01949350505050565b600060ff821660ff810361305d5761305d612b90565b60010192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603160045260246000fdfef79e11fc86b9bf37d5dfd4359c053136f7c046da6a08f9cf7ca56d80d5aab839a2646970667358221220b96a0622d27a10bb89e881ac599099fe1d5de63ab3afef59e8def32cc4dca6b664736f6c63430008130033",
1102
+ "linkReferences": {
1103
+ "contracts/libs/v0.8.x/BytecodeStorageV1.sol": {
1104
+ "BytecodeStorageReader": [
1105
+ {
1106
+ "length": 20,
1107
+ "start": 3638
1108
+ },
1109
+ {
1110
+ "length": 20,
1111
+ "start": 3799
1112
+ },
1113
+ {
1114
+ "length": 20,
1115
+ "start": 3933
1116
+ },
1117
+ {
1118
+ "length": 20,
1119
+ "start": 5622
1120
+ }
1121
+ ]
1122
+ }
1123
+ },
1124
+ "deployedLinkReferences": {
1125
+ "contracts/libs/v0.8.x/BytecodeStorageV1.sol": {
1126
+ "BytecodeStorageReader": [
1127
+ {
1128
+ "length": 20,
1129
+ "start": 3606
1130
+ },
1131
+ {
1132
+ "length": 20,
1133
+ "start": 3767
1134
+ },
1135
+ {
1136
+ "length": 20,
1137
+ "start": 3901
1138
+ },
1139
+ {
1140
+ "length": 20,
1141
+ "start": 5590
1142
+ }
1143
+ ]
1144
+ }
1145
+ }
1020
1146
  }