@artblocks/contracts 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/README.md +67 -154
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +22 -4
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  23. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  24. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  25. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  26. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  27. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  28. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  29. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  30. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  31. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  32. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  33. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  34. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  35. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  36. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  37. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  38. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  39. package/artifacts/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  40. package/artifacts/contracts/interfaces/0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1034 -0
  42. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +162 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +162 -0
  45. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +137 -13
  46. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1060 -0
  47. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +429 -0
  48. package/artifacts/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  49. package/artifacts/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  50. package/artifacts/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +207 -0
  51. package/artifacts/contracts/interfaces/0.8.x/IWETH.sol/IWETH.json +55 -0
  52. package/artifacts/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  53. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  54. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  55. package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  56. package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  57. package/artifacts/contracts/libs/0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  58. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  59. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  60. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  61. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  62. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +295 -0
  63. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  64. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +692 -0
  65. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  66. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  67. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  68. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  69. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  70. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +104 -124
  71. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  72. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +1289 -0
  73. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  74. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  75. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  76. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  77. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  78. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +33 -0
  79. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  80. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  81. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  82. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +46 -0
  83. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +28 -0
  84. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  85. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  86. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  87. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  88. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  89. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  90. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  91. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  92. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +51 -0
  93. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  94. package/artifacts/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  95. package/artifacts/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol/RandomizerBase.json +10 -0
  96. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
  97. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +102 -0
  98. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  99. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +231 -0
  100. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  101. package/contracts/AdminACLV0.sol +1 -1
  102. package/contracts/AdminACLV1.sol +1 -1
  103. package/contracts/DependencyRegistryV0.sol +89 -141
  104. package/contracts/GenArt721CoreV3.sol +160 -204
  105. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +1 -1
  106. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +1 -1
  107. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1 -1
  108. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1 -1
  109. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +1 -1
  110. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +1 -1
  111. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +1 -1
  112. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +1 -1
  113. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +1 -1
  114. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +1 -1
  115. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +1 -1
  116. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +1 -1
  117. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +1 -1
  118. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +1 -1
  119. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +1 -1
  120. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +1 -1
  121. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +1 -1
  122. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  123. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  124. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  125. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  126. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  127. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  128. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +163 -216
  129. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2283 -0
  130. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +2293 -0
  131. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  132. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2354 -0
  133. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  134. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  135. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  136. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  137. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +164 -190
  138. package/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol +62 -0
  139. package/contracts/interfaces/0.8.x/ICoreRegistryV1.sol +27 -0
  140. package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +1 -1
  141. package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +1 -1
  142. package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +1 -1
  143. package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +1 -1
  144. package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +164 -0
  145. package/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  146. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +42 -0
  147. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -8
  148. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +132 -0
  149. package/contracts/interfaces/0.8.x/IMinterFilterV1.sol +158 -0
  150. package/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol +16 -0
  151. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +1 -1
  152. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +2 -5
  153. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +10 -0
  154. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +105 -0
  155. package/contracts/interfaces/0.8.x/IWETH.sol +11 -0
  156. package/contracts/libs/0.8.x/BytecodeStorageV1.sol +399 -0
  157. package/contracts/libs/0.8.x/SSTORE2.sol +109 -0
  158. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  159. package/contracts/libs/integration-refs/weth9/weth9.sol +765 -0
  160. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +36 -48
  161. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +756 -0
  162. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +27 -35
  163. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +17 -22
  164. package/contracts/minter-suite/Minters/MinterDALinV4.sol +16 -18
  165. package/contracts/minter-suite/Minters/MinterHolderV4.sol +20 -20
  166. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +14 -16
  167. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +37 -36
  168. package/contracts/minter-suite/Minters/MinterSEAV0.sol +1273 -0
  169. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +12 -12
  170. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +10 -11
  171. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  172. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  173. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  174. package/contracts/mock/DeadReceiverBidderMock.sol +23 -0
  175. package/contracts/mock/DeadReceiverMock.sol +1 -1
  176. package/contracts/mock/DummySharedMinter.sol +75 -0
  177. package/contracts/mock/GasLimitReceiverBidderMock.sol +23 -0
  178. package/contracts/mock/GasLimitReceiverMock.sol +19 -0
  179. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +14 -27
  180. package/contracts/mock/MockAdminACLV0.sol +1 -1
  181. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  182. package/contracts/mock/OriginRegisterMock.sol +27 -0
  183. package/contracts/mock/RandomizerV2_NoAssignMock.sol +3 -12
  184. package/contracts/mock/ReentrancySEAMock.sol +36 -0
  185. package/contracts/mock/SSTORE2Mock.sol +93 -0
  186. package/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol} +1 -1
  187. package/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol +23 -0
  188. package/contracts/{BasicPolyptychRandomizerV0.sol → randomizer/deprecated/PolyptychRandomizerV0.sol} +20 -29
  189. package/contracts/{BasicRandomizerV2.sol → randomizer/deprecated/RandomizerV2.sol} +6 -14
  190. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  191. package/contracts/randomizer/shared/SharedRandomizerV0.sol +245 -0
  192. package/package.json +36 -30
  193. package/.env.example +0 -10
  194. package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +0 -229
  195. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +0 -102
  196. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  197. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  198. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  199. /package/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol} +0 -0
@@ -761,8 +761,8 @@
761
761
  "type": "function"
762
762
  }
763
763
  ],
764
- "bytecode": "0x6101206040523480156200001257600080fd5b50604051620026f1380380620026f18339810160408190526200003591620002d5565b600160005581620000468162000137565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d391906200030d565b6001600160a01b0316146200012f5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b505062000363565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906200019b90859062000332565b6000604051808303816000865af19150503d8060008114620001da576040519150601f19603f3d011682016040523d82523d6000602084013e620001df565b606091505b509150915081620002415760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000126565b805160c0819003620002595750600095945050505050565b80610100036200026f5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000126565b80516001600160a01b0381168114620002d057600080fd5b919050565b60008060408385031215620002e957600080fd5b620002f483620002b8565b91506200030460208401620002b8565b90509250929050565b6000602082840312156200032057600080fd5b6200032b82620002b8565b9392505050565b6000825160005b8181101562000355576020818601810151858301520162000339565b506000920191825250919050565b60805160a05160c05160e05161010051612303620003ee60003960006105660152600061037e01526000818161094401528181610a0a01528181610c2201528181610d1c015281816111010152818161133901526113ff0152600081816102580152818161086801526108e801526000818161034a015281816114f001526118f001526123036000f3fe6080604052600436106100eb5760003560e01c80619987146100f0578061b460146101165780631607c9951461012957806340d1397e1461014b578063462add461461016b57806356690aaf146101ab5780636cb9b7ff146101e3578063774159c614610203578063891407c01461023357806392a10f8314610246578063a980960014610287578063c71b1b71146102a7578063d195b365146102d9578063d3ddabe6146102f9578063db6921b214610338578063dd85582f1461036c578063e9d1e8ac146103a0578063efef39a114610116578063f4632103146103e1578063f7bd4b8814610401575b600080fd5b6101036100fe366004611cef565b610421565b6040519081526020015b60405180910390f35b610103610124366004611d1b565b61091a565b34801561013557600080fd5b50610149610144366004611d34565b61092c565b005b34801561015757600080fd5b50610149610166366004611d1b565b610c0a565b34801561017757600080fd5b5061019b610186366004611d1b565b60009081526001602052604090205460ff1690565b604051901515815260200161010d565b3480156101b757600080fd5b506101036101c6366004611d1b565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ef57600080fd5b506101496101fe366004611d34565b610d04565b34801561020f57600080fd5b5061022361021e366004611d1b565b610e82565b60405161010d9493929190611da6565b610103610241366004611cef565b610f78565b34801561025257600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405161010d9190611de0565b34801561029357600080fd5b506101036102a2366004611d1b565b610f8b565b3480156102b357600080fd5b506102c76102c2366004611d1b565b61100e565b60405161010d96959493929190611df4565b3480156102e557600080fd5b506101496102f4366004611e58565b6110e9565b34801561030557600080fd5b5061032b60405180604001604052806006815260200165076342e312e360d41b81525081565b60405161010d9190611f22565b34801561034457600080fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037857600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ac57600080fd5b5061032b60405180604001604052806015815260200174135a5b9d195c94d95d141c9a58d9515490cc8c158d605a1b81525081565b3480156103ed57600080fd5b506101036103fc366004611d1b565b6112dd565b34801561040d57600080fd5b5061014961041c366004611d1b565b611321565b600060026000540361047a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104ed5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610471565b8054610100900460ff1661053a5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610471565b604051630d4d151360e01b81526001600160a01b038581166004830152602482018590523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190611f35565b8154909250620f424083066001019062010000900462ffffff168082111561063b5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610471565b80820361064e57825460ff191660011783555b505060018101548154600160281b90046001600160a01b031680156108915734156106e15760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f742061636365707420455448006064820152608401610471565b604051636eb1769f60e11b815282906001600160a01b0383169063dd62ed3e906107119033903090600401611f4e565b602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611f35565b10156107ab5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b6064820152608401610471565b6040516370a0823160e01b815282906001600160a01b038316906370a08231906107d9903390600401611de0565b602060405180830381865afa1580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a9190611f35565b10156108605760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b6044820152606401610471565b61088c8583837f00000000000000000000000000000000000000000000000000000000000000006114e6565b61090c565b813410156108e15760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610471565b61090c85837f0000000000000000000000000000000000000000000000000000000000000000611820565b505050600160005592915050565b60006109263383610421565b92915050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190611f68565b6001600160a01b0316336001600160a01b0316146109e75760405162461bcd60e51b815260040161047190611f85565b604051630ea5613f60e01b81526004810184905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a759190611fba565b5092955092935050505081841115610b155760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610471565b80841015610b975760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610471565b60008581526001602052604090819020805460ff1962ffffff881662010000021664ffffff00ff19909116178387141790555185907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610bfb9087815260200190565b60405180910390a25050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c959190611f68565b6001600160a01b0316336001600160a01b031614610cc55760405162461bcd60e51b815260040161047190611f85565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610471565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190611f68565b6001600160a01b0316336001600160a01b031614610dbf5760405162461bcd60e51b815260040161047190611f85565b60008211610e045760405162461bcd60e51b815260206004820152601260248201527105072696365206d6179206e6f7420626520360741b6044820152606401610471565b6000838152600160208190526040808320918201859055815461ff001916610100178255519091849186917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff16158015610e6e5750805460ff16155b15610e7c57610e7c84611321565b50505050565b6000818152600160208190526040909120805491810154610100830460ff16929091606091600160281b90046001600160a01b03169081610ee0576040518060400160405280600381526020016208aa8960eb1b8152509250610f70565b806002018054610eef90612019565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1b90612019565b8015610f685780601f10610f3d57610100808354040283529160200191610f68565b820191906000526020600020905b815481529060010190602001808311610f4b57829003601f168201915b505050505092505b509193509193565b6000610f848383610421565b9392505050565b6000818152600160205260408082205490516370a0823160e01b8152600160281b9091046001600160a01b0316906370a0823190610fcd903390600401611de0565b602060405180830381865afa158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611f35565b600160208190526000918252604090912080549181015460028201805460ff8086169561010081049091169462010000820462ffffff1694600160281b9092046001600160a01b031693919290919061106690612019565b80601f016020809104026020016040519081016040528092919081815260200182805461109290612019565b80156110df5780601f106110b4576101008083540402835291602001916110df565b820191906000526020600020905b8154815290600101906020018083116110c257829003601f168201915b5050505050905086565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111749190611f68565b6001600160a01b0316336001600160a01b0316146111a45760405162461bcd60e51b815260040161047190611f85565b6040516208aa8960eb1b60208201526001600160a01b038316159060230160405160208183030381529060405280519060200120846040516020016111e99190612053565b604051602081830303815290604052805190602001201415151461124a5760405162461bcd60e51b8152602060048201526018602482015277455448206973206f6e6c79206e756c6c206164647265737360401b6044820152606401610471565b600084815260016020526040902060020161126584826120bd565b50600084815260016020526040908190208054600160281b600160c81b031916600160281b6001600160a01b03861690810291909117909155905185907fe6c8c6160f844a27204e2b7fb4b7fb9f10e5d322fa850096bef29dc1d0f445c1906112cf908790611f22565b60405180910390a350505050565b600081815260016020526040808220549051636eb1769f60e11b8152600160281b9091046001600160a01b03169063dd62ed3e90610fcd9033903090600401611f4e565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190611f68565b6001600160a01b0316336001600160a01b0316146113dc5760405162461bcd60e51b815260040161047190611f85565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146a9190611fba565b50505060008781526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508591507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906114d89085815260200190565b60405180910390a250505050565b81600080808080807f00000000000000000000000000000000000000000000000000000000000000001561162257604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158a919061217c565b969e50949c50909a5098509196509194509092509050811561161b576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906115d690339085908790600401612204565b6020604051808303816000875af11580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190612228565b505b50506116a2565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b03891690638639415b9060440160c060405180830381865afa15801561166e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116929190612243565b949a509298509096509450925090505b851561171d576040516323b872dd60e01b81526001600160a01b038816906323b872dd906116d890339089908b90600401612204565b6020604051808303816000875af11580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190612228565b505b8315611798576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061175390339087908990600401612204565b6020604051808303816000875af1158015611772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117969190612228565b505b8115611813576040516323b872dd60e01b81526001600160a01b038816906323b872dd906117ce90339085908790600401612204565b6020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190612228565b505b5050505050505050505050565b34156118d15760008061183384346122ac565b905080156118c35760405133908290600081818185875af1925050503d806000811461187b576040519150601f19603f3d011682016040523d82523d6000602084013e611880565b606091505b505080925050816118c35760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610471565b6118ce8585856118d6565b50505b505050565b600082116118e357505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611a4e57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a919061217c565b969e50949c50909a50985091965091945090925090508115611a47576040516001600160a01b038216908390600081818185875af1925050503d80600081146119ef576040519150601f19603f3d011682016040523d82523d6000602084013e6119f4565b606091505b50508099505088611a475760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610471565b5050611ace565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe9190612243565b949a509298509096509450925090505b8515611b75576040516001600160a01b038616908790600081818185875af1925050503d8060008114611b1d576040519150601f19603f3d011682016040523d82523d6000602084013e611b22565b606091505b50508097505086611b755760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610471565b8315611c14576040516001600160a01b038416908590600081818185875af1925050503d8060008114611bc4576040519150601f19603f3d011682016040523d82523d6000602084013e611bc9565b606091505b50508097505086611c145760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610471565b8115611cbb576040516001600160a01b038216908390600081818185875af1925050503d8060008114611c63576040519150601f19603f3d011682016040523d82523d6000602084013e611c68565b606091505b50508097505086611cbb5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610471565b50505050505050505050565b6001600160a01b0381168114611cdc57600080fd5b50565b8035611cea81611cc7565b919050565b60008060408385031215611d0257600080fd5b8235611d0d81611cc7565b946020939093013593505050565b600060208284031215611d2d57600080fd5b5035919050565b60008060408385031215611d4757600080fd5b50508035926020909101359150565b60005b83811015611d71578181015183820152602001611d59565b50506000910152565b60008151808452611d92816020860160208601611d56565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611dc76080830185611d7a565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b8615158152851515602082015262ffffff8516604082015260018060a01b038416606082015282608082015260c060a08201526000611e3660c0830184611d7a565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215611e6d57600080fd5b8335925060208401356001600160401b0380821115611e8b57600080fd5b818601915086601f830112611e9f57600080fd5b813581811115611eb157611eb1611e42565b604051601f8201601f19908116603f01168101908382118183101715611ed957611ed9611e42565b81604052828152896020848701011115611ef257600080fd5b826020860160208301376000602084830101528096505050505050611f1960408501611cdf565b90509250925092565b602081526000610f846020830184611d7a565b600060208284031215611f4757600080fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b600060208284031215611f7a57600080fd5b8151610f8481611cc7565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b80518015158114611cea57600080fd5b60008060008060008060c08789031215611fd357600080fd5b8651955060208701519450611fea60408801611faa565b9350611ff860608801611faa565b92506080870151915061200d60a08801611faa565b90509295509295509295565b600181811c9082168061202d57607f821691505b60208210810361204d57634e487b7160e01b600052602260045260246000fd5b50919050565b60008251612065818460208701611d56565b9190910192915050565b601f8211156118d157600081815260208120601f850160051c810160208610156120965750805b601f850160051c820191505b818110156120b5578281556001016120a2565b505050505050565b81516001600160401b038111156120d6576120d6611e42565b6120ea816120e48454612019565b8461206f565b602080601f83116001811461211f57600084156121075750858301515b600019600386901b1c1916600185901b1785556120b5565b600085815260208120601f198616915b8281101561214e5788860151825594840194600190910190840161212f565b508582101561216c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080600080600080600080610100898b03121561219957600080fd5b8851975060208901516121ab81611cc7565b60408a015160608b015191985096506121c381611cc7565b60808a015160a08b015191965094506121db81611cc7565b60c08a015160e08b015191945092506121f381611cc7565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561223a57600080fd5b610f8482611faa565b60008060008060008060c0878903121561225c57600080fd5b86519550602087015161226e81611cc7565b60408801516060890151919650945061228681611cc7565b608088015160a0890151919450925061229e81611cc7565b809150509295509295509295565b8181038181111561092657634e487b7160e01b600052601160045260246000fdfea264697066735822122049b48a22b1b0c9f86fbf4a2e34df082482e3aa17b697a91519ab81db7720e06164736f6c63430008110033",
765
- "deployedBytecode": "0x6080604052600436106100eb5760003560e01c80619987146100f0578061b460146101165780631607c9951461012957806340d1397e1461014b578063462add461461016b57806356690aaf146101ab5780636cb9b7ff146101e3578063774159c614610203578063891407c01461023357806392a10f8314610246578063a980960014610287578063c71b1b71146102a7578063d195b365146102d9578063d3ddabe6146102f9578063db6921b214610338578063dd85582f1461036c578063e9d1e8ac146103a0578063efef39a114610116578063f4632103146103e1578063f7bd4b8814610401575b600080fd5b6101036100fe366004611cef565b610421565b6040519081526020015b60405180910390f35b610103610124366004611d1b565b61091a565b34801561013557600080fd5b50610149610144366004611d34565b61092c565b005b34801561015757600080fd5b50610149610166366004611d1b565b610c0a565b34801561017757600080fd5b5061019b610186366004611d1b565b60009081526001602052604090205460ff1690565b604051901515815260200161010d565b3480156101b757600080fd5b506101036101c6366004611d1b565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ef57600080fd5b506101496101fe366004611d34565b610d04565b34801561020f57600080fd5b5061022361021e366004611d1b565b610e82565b60405161010d9493929190611da6565b610103610241366004611cef565b610f78565b34801561025257600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405161010d9190611de0565b34801561029357600080fd5b506101036102a2366004611d1b565b610f8b565b3480156102b357600080fd5b506102c76102c2366004611d1b565b61100e565b60405161010d96959493929190611df4565b3480156102e557600080fd5b506101496102f4366004611e58565b6110e9565b34801561030557600080fd5b5061032b60405180604001604052806006815260200165076342e312e360d41b81525081565b60405161010d9190611f22565b34801561034457600080fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037857600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ac57600080fd5b5061032b60405180604001604052806015815260200174135a5b9d195c94d95d141c9a58d9515490cc8c158d605a1b81525081565b3480156103ed57600080fd5b506101036103fc366004611d1b565b6112dd565b34801561040d57600080fd5b5061014961041c366004611d1b565b611321565b600060026000540361047a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104ed5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610471565b8054610100900460ff1661053a5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610471565b604051630d4d151360e01b81526001600160a01b038581166004830152602482018590523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190611f35565b8154909250620f424083066001019062010000900462ffffff168082111561063b5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610471565b80820361064e57825460ff191660011783555b505060018101548154600160281b90046001600160a01b031680156108915734156106e15760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f742061636365707420455448006064820152608401610471565b604051636eb1769f60e11b815282906001600160a01b0383169063dd62ed3e906107119033903090600401611f4e565b602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611f35565b10156107ab5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b6064820152608401610471565b6040516370a0823160e01b815282906001600160a01b038316906370a08231906107d9903390600401611de0565b602060405180830381865afa1580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a9190611f35565b10156108605760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b6044820152606401610471565b61088c8583837f00000000000000000000000000000000000000000000000000000000000000006114e6565b61090c565b813410156108e15760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610471565b61090c85837f0000000000000000000000000000000000000000000000000000000000000000611820565b505050600160005592915050565b60006109263383610421565b92915050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190611f68565b6001600160a01b0316336001600160a01b0316146109e75760405162461bcd60e51b815260040161047190611f85565b604051630ea5613f60e01b81526004810184905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a759190611fba565b5092955092935050505081841115610b155760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610471565b80841015610b975760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610471565b60008581526001602052604090819020805460ff1962ffffff881662010000021664ffffff00ff19909116178387141790555185907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610bfb9087815260200190565b60405180910390a25050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c959190611f68565b6001600160a01b0316336001600160a01b031614610cc55760405162461bcd60e51b815260040161047190611f85565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610471565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190611f68565b6001600160a01b0316336001600160a01b031614610dbf5760405162461bcd60e51b815260040161047190611f85565b60008211610e045760405162461bcd60e51b815260206004820152601260248201527105072696365206d6179206e6f7420626520360741b6044820152606401610471565b6000838152600160208190526040808320918201859055815461ff001916610100178255519091849186917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff16158015610e6e5750805460ff16155b15610e7c57610e7c84611321565b50505050565b6000818152600160208190526040909120805491810154610100830460ff16929091606091600160281b90046001600160a01b03169081610ee0576040518060400160405280600381526020016208aa8960eb1b8152509250610f70565b806002018054610eef90612019565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1b90612019565b8015610f685780601f10610f3d57610100808354040283529160200191610f68565b820191906000526020600020905b815481529060010190602001808311610f4b57829003601f168201915b505050505092505b509193509193565b6000610f848383610421565b9392505050565b6000818152600160205260408082205490516370a0823160e01b8152600160281b9091046001600160a01b0316906370a0823190610fcd903390600401611de0565b602060405180830381865afa158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611f35565b600160208190526000918252604090912080549181015460028201805460ff8086169561010081049091169462010000820462ffffff1694600160281b9092046001600160a01b031693919290919061106690612019565b80601f016020809104026020016040519081016040528092919081815260200182805461109290612019565b80156110df5780601f106110b4576101008083540402835291602001916110df565b820191906000526020600020905b8154815290600101906020018083116110c257829003601f168201915b5050505050905086565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111749190611f68565b6001600160a01b0316336001600160a01b0316146111a45760405162461bcd60e51b815260040161047190611f85565b6040516208aa8960eb1b60208201526001600160a01b038316159060230160405160208183030381529060405280519060200120846040516020016111e99190612053565b604051602081830303815290604052805190602001201415151461124a5760405162461bcd60e51b8152602060048201526018602482015277455448206973206f6e6c79206e756c6c206164647265737360401b6044820152606401610471565b600084815260016020526040902060020161126584826120bd565b50600084815260016020526040908190208054600160281b600160c81b031916600160281b6001600160a01b03861690810291909117909155905185907fe6c8c6160f844a27204e2b7fb4b7fb9f10e5d322fa850096bef29dc1d0f445c1906112cf908790611f22565b60405180910390a350505050565b600081815260016020526040808220549051636eb1769f60e11b8152600160281b9091046001600160a01b03169063dd62ed3e90610fcd9033903090600401611f4e565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190611f68565b6001600160a01b0316336001600160a01b0316146113dc5760405162461bcd60e51b815260040161047190611f85565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146a9190611fba565b50505060008781526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508591507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906114d89085815260200190565b60405180910390a250505050565b81600080808080807f00000000000000000000000000000000000000000000000000000000000000001561162257604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158a919061217c565b969e50949c50909a5098509196509194509092509050811561161b576040516323b872dd60e01b81526001600160a01b038a16906323b872dd906115d690339085908790600401612204565b6020604051808303816000875af11580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190612228565b505b50506116a2565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b03891690638639415b9060440160c060405180830381865afa15801561166e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116929190612243565b949a509298509096509450925090505b851561171d576040516323b872dd60e01b81526001600160a01b038816906323b872dd906116d890339089908b90600401612204565b6020604051808303816000875af11580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190612228565b505b8315611798576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061175390339087908990600401612204565b6020604051808303816000875af1158015611772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117969190612228565b505b8115611813576040516323b872dd60e01b81526001600160a01b038816906323b872dd906117ce90339085908790600401612204565b6020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190612228565b505b5050505050505050505050565b34156118d15760008061183384346122ac565b905080156118c35760405133908290600081818185875af1925050503d806000811461187b576040519150601f19603f3d011682016040523d82523d6000602084013e611880565b606091505b505080925050816118c35760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610471565b6118ce8585856118d6565b50505b505050565b600082116118e357505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611a4e57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a919061217c565b969e50949c50909a50985091965091945090925090508115611a47576040516001600160a01b038216908390600081818185875af1925050503d80600081146119ef576040519150601f19603f3d011682016040523d82523d6000602084013e6119f4565b606091505b50508099505088611a475760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610471565b5050611ace565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe9190612243565b949a509298509096509450925090505b8515611b75576040516001600160a01b038616908790600081818185875af1925050503d8060008114611b1d576040519150601f19603f3d011682016040523d82523d6000602084013e611b22565b606091505b50508097505086611b755760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610471565b8315611c14576040516001600160a01b038416908590600081818185875af1925050503d8060008114611bc4576040519150601f19603f3d011682016040523d82523d6000602084013e611bc9565b606091505b50508097505086611c145760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610471565b8115611cbb576040516001600160a01b038216908390600081818185875af1925050503d8060008114611c63576040519150601f19603f3d011682016040523d82523d6000602084013e611c68565b606091505b50508097505086611cbb5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610471565b50505050505050505050565b6001600160a01b0381168114611cdc57600080fd5b50565b8035611cea81611cc7565b919050565b60008060408385031215611d0257600080fd5b8235611d0d81611cc7565b946020939093013593505050565b600060208284031215611d2d57600080fd5b5035919050565b60008060408385031215611d4757600080fd5b50508035926020909101359150565b60005b83811015611d71578181015183820152602001611d59565b50506000910152565b60008151808452611d92816020860160208601611d56565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611dc76080830185611d7a565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b8615158152851515602082015262ffffff8516604082015260018060a01b038416606082015282608082015260c060a08201526000611e3660c0830184611d7a565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215611e6d57600080fd5b8335925060208401356001600160401b0380821115611e8b57600080fd5b818601915086601f830112611e9f57600080fd5b813581811115611eb157611eb1611e42565b604051601f8201601f19908116603f01168101908382118183101715611ed957611ed9611e42565b81604052828152896020848701011115611ef257600080fd5b826020860160208301376000602084830101528096505050505050611f1960408501611cdf565b90509250925092565b602081526000610f846020830184611d7a565b600060208284031215611f4757600080fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b600060208284031215611f7a57600080fd5b8151610f8481611cc7565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b80518015158114611cea57600080fd5b60008060008060008060c08789031215611fd357600080fd5b8651955060208701519450611fea60408801611faa565b9350611ff860608801611faa565b92506080870151915061200d60a08801611faa565b90509295509295509295565b600181811c9082168061202d57607f821691505b60208210810361204d57634e487b7160e01b600052602260045260246000fd5b50919050565b60008251612065818460208701611d56565b9190910192915050565b601f8211156118d157600081815260208120601f850160051c810160208610156120965750805b601f850160051c820191505b818110156120b5578281556001016120a2565b505050505050565b81516001600160401b038111156120d6576120d6611e42565b6120ea816120e48454612019565b8461206f565b602080601f83116001811461211f57600084156121075750858301515b600019600386901b1c1916600185901b1785556120b5565b600085815260208120601f198616915b8281101561214e5788860151825594840194600190910190840161212f565b508582101561216c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080600080600080600080610100898b03121561219957600080fd5b8851975060208901516121ab81611cc7565b60408a015160608b015191985096506121c381611cc7565b60808a015160a08b015191965094506121db81611cc7565b60c08a015160e08b015191945092506121f381611cc7565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561223a57600080fd5b610f8482611faa565b60008060008060008060c0878903121561225c57600080fd5b86519550602087015161226e81611cc7565b60408801516060890151919650945061228681611cc7565b608088015160a0890151919450925061229e81611cc7565b809150509295509295509295565b8181038181111561092657634e487b7160e01b600052601160045260246000fdfea264697066735822122049b48a22b1b0c9f86fbf4a2e34df082482e3aa17b697a91519ab81db7720e06164736f6c63430008110033",
764
+ "bytecode": "0x6101206040523480156200001257600080fd5b5060405162002408380380620024088339810160408190526200003591620002d5565b600160005581620000468162000137565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d391906200030d565b6001600160a01b0316146200012f5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b505062000363565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906200019b90859062000332565b6000604051808303816000865af19150503d8060008114620001da576040519150601f19603f3d011682016040523d82523d6000602084013e620001df565b606091505b509150915081620002415760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000126565b805160c0819003620002595750600095945050505050565b80610100036200026f5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000126565b80516001600160a01b0381168114620002d057600080fd5b919050565b60008060408385031215620002e957600080fd5b620002f483620002b8565b91506200030460208401620002b8565b90509250929050565b6000602082840312156200032057600080fd5b6200032b82620002b8565b9392505050565b6000825160005b8181101562000355576020818601810151858301520162000339565b506000920191825250919050565b60805160a05160c05160e05161010051612036620003d260003960006105660152600061037e01526000818161095801528181611082015261156d0152600081816102580152818161086801526108e801526000818161034a01528181611172015261164b01526120366000f3fe6080604052600436106100eb5760003560e01c80619987146100f0578061b460146101165780631607c9951461012957806340d1397e1461014b578063462add461461016b57806356690aaf146101ab5780636cb9b7ff146101e3578063774159c614610203578063891407c01461023357806392a10f8314610246578063a980960014610287578063c71b1b71146102a7578063d195b365146102d9578063d3ddabe6146102f9578063db6921b214610338578063dd85582f1461036c578063e9d1e8ac146103a0578063efef39a114610116578063f4632103146103e1578063f7bd4b8814610401575b600080fd5b6101036100fe366004611a47565b610421565b6040519081526020015b60405180910390f35b610103610124366004611a73565b61091a565b34801561013557600080fd5b50610149610144366004611a8c565b61092c565b005b34801561015757600080fd5b50610149610166366004611a73565b610b57565b34801561017757600080fd5b5061019b610186366004611a73565b60009081526001602052604090205460ff1690565b604051901515815260200161010d565b3480156101b757600080fd5b506101036101c6366004611a73565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ef57600080fd5b506101496101fe366004611a8c565b610b9f565b34801561020f57600080fd5b5061022361021e366004611a73565b610c6a565b60405161010d9493929190611afe565b610103610241366004611a47565b610d60565b34801561025257600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405161010d9190611b38565b34801561029357600080fd5b506101036102a2366004611a73565b610d73565b3480156102b357600080fd5b506102c76102c2366004611a73565b610df6565b60405161010d96959493929190611b4c565b3480156102e557600080fd5b506101496102f4366004611bb0565b610ed1565b34801561030557600080fd5b5061032b60405180604001604052806006815260200165076342e312e360d41b81525081565b60405161010d9190611c7a565b34801561034457600080fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037857600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ac57600080fd5b5061032b60405180604001604052806015815260200174135a5b9d195c94d95d141c9a58d9515490cc8c158d605a1b81525081565b3480156103ed57600080fd5b506101036103fc366004611a73565b611012565b34801561040d57600080fd5b5061014961041c366004611a73565b611056565b600060026000540361047a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104ed5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610471565b8054610100900460ff1661053a5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610471565b604051630d4d151360e01b81526001600160a01b038581166004830152602482018590523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190611c8d565b8154909250620f424083066001019062010000900462ffffff168082111561063b5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610471565b80820361064e57825460ff191660011783555b505060018101548154600160281b90046001600160a01b031680156108915734156106e15760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f742061636365707420455448006064820152608401610471565b604051636eb1769f60e11b815282906001600160a01b0383169063dd62ed3e906107119033903090600401611ca6565b602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611c8d565b10156107ab5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b6064820152608401610471565b6040516370a0823160e01b815282906001600160a01b038316906370a08231906107d9903390600401611b38565b602060405180830381865afa1580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a9190611c8d565b10156108605760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b6044820152606401610471565b61088c8583837f0000000000000000000000000000000000000000000000000000000000000000611168565b61090c565b813410156108e15760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610471565b61090c85837f00000000000000000000000000000000000000000000000000000000000000006114a2565b505050600160005592915050565b60006109263383610421565b92915050565b61093582611557565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561099f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c39190611cd0565b5092955092935050505081831115610a635760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610471565b80831015610ae55760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610471565b60008481526001602052604090819020805460ff1962ffffff871662010000021664ffffff00ff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610b499086815260200190565b60405180910390a250505050565b610b6081611557565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610471565b610ba882611557565b60008111610bed5760405162461bcd60e51b815260206004820152601260248201527105072696365206d6179206e6f7420626520360741b6044820152606401610471565b6000828152600160208190526040808320918201849055815461ff001916610100178255519091839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff16158015610c575750805460ff16155b15610c6557610c6583611056565b505050565b6000818152600160208190526040909120805491810154610100830460ff16929091606091600160281b90046001600160a01b03169081610cc8576040518060400160405280600381526020016208aa8960eb1b8152509250610d58565b806002018054610cd790611d2f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0390611d2f565b8015610d505780601f10610d2557610100808354040283529160200191610d50565b820191906000526020600020905b815481529060010190602001808311610d3357829003601f168201915b505050505092505b509193509193565b6000610d6c8383610421565b9392505050565b6000818152600160205260408082205490516370a0823160e01b8152600160281b9091046001600160a01b0316906370a0823190610db5903390600401611b38565b602060405180830381865afa158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611c8d565b600160208190526000918252604090912080549181015460028201805460ff8086169561010081049091169462010000820462ffffff1694600160281b9092046001600160a01b0316939192909190610e4e90611d2f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7a90611d2f565b8015610ec75780601f10610e9c57610100808354040283529160200191610ec7565b820191906000526020600020905b815481529060010190602001808311610eaa57829003601f168201915b5050505050905086565b610eda83611557565b6040516208aa8960eb1b60208201526001600160a01b03821615906023016040516020818303038152906040528051906020012083604051602001610f1f9190611d69565b6040516020818303038152906040528051906020012014151514610f805760405162461bcd60e51b8152602060048201526018602482015277455448206973206f6e6c79206e756c6c206164647265737360401b6044820152606401610471565b6000838152600160205260409020600201610f9b8382611dd3565b50600083815260016020526040908190208054600160281b600160c81b031916600160281b6001600160a01b03851690810291909117909155905184907fe6c8c6160f844a27204e2b7fb4b7fb9f10e5d322fa850096bef29dc1d0f445c190611005908690611c7a565b60405180910390a3505050565b600081815260016020526040808220549051636eb1769f60e11b8152600160281b9091046001600160a01b03169063dd62ed3e90610db59033903090600401611ca6565b61105f81611557565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed9190611cd0565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b19061115b9085815260200190565b60405180910390a2505050565b81600080808080807f0000000000000000000000000000000000000000000000000000000000000000156112a457604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c9190611e92565b969e50949c50909a5098509196509194509092509050811561129d576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061125890339085908790600401611f1a565b6020604051808303816000875af1158015611277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129b9190611f3e565b505b5050611324565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156112f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113149190611f59565b949a509298509096509450925090505b851561139f576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061135a90339089908b90600401611f1a565b6020604051808303816000875af1158015611379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139d9190611f3e565b505b831561141a576040516323b872dd60e01b81526001600160a01b038816906323b872dd906113d590339087908990600401611f1a565b6020604051808303816000875af11580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190611f3e565b505b8115611495576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061145090339085908790600401611f1a565b6020604051808303816000875af115801561146f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114939190611f3e565b505b5050505050505050505050565b3415610c65576000806114b58434611fc2565b905080156115455760405133908290600081818185875af1925050503d80600081146114fd576040519150601f19603f3d011682016040523d82523d6000602084013e611502565b606091505b505080925050816115455760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610471565b611550858585611631565b5050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156115bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e09190611fe3565b6001600160a01b0316336001600160a01b03161461162e5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610471565b50565b6000821161163e57505050565b60008060008060008060007f0000000000000000000000000000000000000000000000000000000000000000156117a957604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611e92565b969e50949c50909a509850919650919450909250905081156117a2576040516001600160a01b038216908390600081818185875af1925050503d806000811461174a576040519150601f19603f3d011682016040523d82523d6000602084013e61174f565b606091505b505080995050886117a25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610471565b5050611829565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156117f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118199190611f59565b949a509298509096509450925090505b85156118d0576040516001600160a01b038616908790600081818185875af1925050503d8060008114611878576040519150601f19603f3d011682016040523d82523d6000602084013e61187d565b606091505b505080975050866118d05760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610471565b831561196f576040516001600160a01b038416908590600081818185875af1925050503d806000811461191f576040519150601f19603f3d011682016040523d82523d6000602084013e611924565b606091505b5050809750508661196f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610471565b8115611a16576040516001600160a01b038216908390600081818185875af1925050503d80600081146119be576040519150601f19603f3d011682016040523d82523d6000602084013e6119c3565b606091505b50508097505086611a165760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610471565b50505050505050505050565b6001600160a01b038116811461162e57600080fd5b8035611a4281611a22565b919050565b60008060408385031215611a5a57600080fd5b8235611a6581611a22565b946020939093013593505050565b600060208284031215611a8557600080fd5b5035919050565b60008060408385031215611a9f57600080fd5b50508035926020909101359150565b60005b83811015611ac9578181015183820152602001611ab1565b50506000910152565b60008151808452611aea816020860160208601611aae565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611b1f6080830185611ad2565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b8615158152851515602082015262ffffff8516604082015260018060a01b038416606082015282608082015260c060a08201526000611b8e60c0830184611ad2565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215611bc557600080fd5b8335925060208401356001600160401b0380821115611be357600080fd5b818601915086601f830112611bf757600080fd5b813581811115611c0957611c09611b9a565b604051601f8201601f19908116603f01168101908382118183101715611c3157611c31611b9a565b81604052828152896020848701011115611c4a57600080fd5b826020860160208301376000602084830101528096505050505050611c7160408501611a37565b90509250925092565b602081526000610d6c6020830184611ad2565b600060208284031215611c9f57600080fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b80518015158114611a4257600080fd5b60008060008060008060c08789031215611ce957600080fd5b8651955060208701519450611d0060408801611cc0565b9350611d0e60608801611cc0565b925060808701519150611d2360a08801611cc0565b90509295509295509295565b600181811c90821680611d4357607f821691505b602082108103611d6357634e487b7160e01b600052602260045260246000fd5b50919050565b60008251611d7b818460208701611aae565b9190910192915050565b601f821115610c6557600081815260208120601f850160051c81016020861015611dac5750805b601f850160051c820191505b81811015611dcb57828155600101611db8565b505050505050565b81516001600160401b03811115611dec57611dec611b9a565b611e0081611dfa8454611d2f565b84611d85565b602080601f831160018114611e355760008415611e1d5750858301515b600019600386901b1c1916600185901b178555611dcb565b600085815260208120601f198616915b82811015611e6457888601518255948401946001909101908401611e45565b5085821015611e825787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080600080600080600080610100898b031215611eaf57600080fd5b885197506020890151611ec181611a22565b60408a015160608b01519198509650611ed981611a22565b60808a015160a08b01519196509450611ef181611a22565b60c08a015160e08b01519194509250611f0981611a22565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215611f5057600080fd5b610d6c82611cc0565b60008060008060008060c08789031215611f7257600080fd5b865195506020870151611f8481611a22565b604088015160608901519196509450611f9c81611a22565b608088015160a08901519194509250611fb481611a22565b809150509295509295509295565b8181038181111561092657634e487b7160e01b600052601160045260246000fd5b600060208284031215611ff557600080fd5b8151610d6c81611a2256fea264697066735822122074ed7e0dabb70afae6e89d8c7839a2b9a0dd936a2fe6af2de7daca526c33890a64736f6c63430008130033",
765
+ "deployedBytecode": "0x6080604052600436106100eb5760003560e01c80619987146100f0578061b460146101165780631607c9951461012957806340d1397e1461014b578063462add461461016b57806356690aaf146101ab5780636cb9b7ff146101e3578063774159c614610203578063891407c01461023357806392a10f8314610246578063a980960014610287578063c71b1b71146102a7578063d195b365146102d9578063d3ddabe6146102f9578063db6921b214610338578063dd85582f1461036c578063e9d1e8ac146103a0578063efef39a114610116578063f4632103146103e1578063f7bd4b8814610401575b600080fd5b6101036100fe366004611a47565b610421565b6040519081526020015b60405180910390f35b610103610124366004611a73565b61091a565b34801561013557600080fd5b50610149610144366004611a8c565b61092c565b005b34801561015757600080fd5b50610149610166366004611a73565b610b57565b34801561017757600080fd5b5061019b610186366004611a73565b60009081526001602052604090205460ff1690565b604051901515815260200161010d565b3480156101b757600080fd5b506101036101c6366004611a73565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ef57600080fd5b506101496101fe366004611a8c565b610b9f565b34801561020f57600080fd5b5061022361021e366004611a73565b610c6a565b60405161010d9493929190611afe565b610103610241366004611a47565b610d60565b34801561025257600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405161010d9190611b38565b34801561029357600080fd5b506101036102a2366004611a73565b610d73565b3480156102b357600080fd5b506102c76102c2366004611a73565b610df6565b60405161010d96959493929190611b4c565b3480156102e557600080fd5b506101496102f4366004611bb0565b610ed1565b34801561030557600080fd5b5061032b60405180604001604052806006815260200165076342e312e360d41b81525081565b60405161010d9190611c7a565b34801561034457600080fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037857600080fd5b5061027a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ac57600080fd5b5061032b60405180604001604052806015815260200174135a5b9d195c94d95d141c9a58d9515490cc8c158d605a1b81525081565b3480156103ed57600080fd5b506101036103fc366004611a73565b611012565b34801561040d57600080fd5b5061014961041c366004611a73565b611056565b600060026000540361047a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104ed5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610471565b8054610100900460ff1661053a5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610471565b604051630d4d151360e01b81526001600160a01b038581166004830152602482018590523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190611c8d565b8154909250620f424083066001019062010000900462ffffff168082111561063b5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610471565b80820361064e57825460ff191660011783555b505060018101548154600160281b90046001600160a01b031680156108915734156106e15760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f742061636365707420455448006064820152608401610471565b604051636eb1769f60e11b815282906001600160a01b0383169063dd62ed3e906107119033903090600401611ca6565b602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611c8d565b10156107ab5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b6064820152608401610471565b6040516370a0823160e01b815282906001600160a01b038316906370a08231906107d9903390600401611b38565b602060405180830381865afa1580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a9190611c8d565b10156108605760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b6044820152606401610471565b61088c8583837f0000000000000000000000000000000000000000000000000000000000000000611168565b61090c565b813410156108e15760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610471565b61090c85837f00000000000000000000000000000000000000000000000000000000000000006114a2565b505050600160005592915050565b60006109263383610421565b92915050565b61093582611557565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561099f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c39190611cd0565b5092955092935050505081831115610a635760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610471565b80831015610ae55760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610471565b60008481526001602052604090819020805460ff1962ffffff871662010000021664ffffff00ff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610b499086815260200190565b60405180910390a250505050565b610b6081611557565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610471565b610ba882611557565b60008111610bed5760405162461bcd60e51b815260206004820152601260248201527105072696365206d6179206e6f7420626520360741b6044820152606401610471565b6000828152600160208190526040808320918201849055815461ff001916610100178255519091839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff16158015610c575750805460ff16155b15610c6557610c6583611056565b505050565b6000818152600160208190526040909120805491810154610100830460ff16929091606091600160281b90046001600160a01b03169081610cc8576040518060400160405280600381526020016208aa8960eb1b8152509250610d58565b806002018054610cd790611d2f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0390611d2f565b8015610d505780601f10610d2557610100808354040283529160200191610d50565b820191906000526020600020905b815481529060010190602001808311610d3357829003601f168201915b505050505092505b509193509193565b6000610d6c8383610421565b9392505050565b6000818152600160205260408082205490516370a0823160e01b8152600160281b9091046001600160a01b0316906370a0823190610db5903390600401611b38565b602060405180830381865afa158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611c8d565b600160208190526000918252604090912080549181015460028201805460ff8086169561010081049091169462010000820462ffffff1694600160281b9092046001600160a01b0316939192909190610e4e90611d2f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7a90611d2f565b8015610ec75780601f10610e9c57610100808354040283529160200191610ec7565b820191906000526020600020905b815481529060010190602001808311610eaa57829003601f168201915b5050505050905086565b610eda83611557565b6040516208aa8960eb1b60208201526001600160a01b03821615906023016040516020818303038152906040528051906020012083604051602001610f1f9190611d69565b6040516020818303038152906040528051906020012014151514610f805760405162461bcd60e51b8152602060048201526018602482015277455448206973206f6e6c79206e756c6c206164647265737360401b6044820152606401610471565b6000838152600160205260409020600201610f9b8382611dd3565b50600083815260016020526040908190208054600160281b600160c81b031916600160281b6001600160a01b03851690810291909117909155905184907fe6c8c6160f844a27204e2b7fb4b7fb9f10e5d322fa850096bef29dc1d0f445c190611005908690611c7a565b60405180910390a3505050565b600081815260016020526040808220549051636eb1769f60e11b8152600160281b9091046001600160a01b03169063dd62ed3e90610db59033903090600401611ca6565b61105f81611557565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed9190611cd0565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b19061115b9085815260200190565b60405180910390a2505050565b81600080808080807f0000000000000000000000000000000000000000000000000000000000000000156112a457604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c9190611e92565b969e50949c50909a5098509196509194509092509050811561129d576040516323b872dd60e01b81526001600160a01b038a16906323b872dd9061125890339085908790600401611f1a565b6020604051808303816000875af1158015611277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129b9190611f3e565b505b5050611324565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156112f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113149190611f59565b949a509298509096509450925090505b851561139f576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061135a90339089908b90600401611f1a565b6020604051808303816000875af1158015611379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139d9190611f3e565b505b831561141a576040516323b872dd60e01b81526001600160a01b038816906323b872dd906113d590339087908990600401611f1a565b6020604051808303816000875af11580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190611f3e565b505b8115611495576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061145090339085908790600401611f1a565b6020604051808303816000875af115801561146f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114939190611f3e565b505b5050505050505050505050565b3415610c65576000806114b58434611fc2565b905080156115455760405133908290600081818185875af1925050503d80600081146114fd576040519150601f19603f3d011682016040523d82523d6000602084013e611502565b606091505b505080925050816115455760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610471565b611550858585611631565b5050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156115bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e09190611fe3565b6001600160a01b0316336001600160a01b03161461162e5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610471565b50565b6000821161163e57505050565b60008060008060008060007f0000000000000000000000000000000000000000000000000000000000000000156117a957604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611e92565b969e50949c50909a509850919650919450909250905081156117a2576040516001600160a01b038216908390600081818185875af1925050503d806000811461174a576040519150601f19603f3d011682016040523d82523d6000602084013e61174f565b606091505b505080995050886117a25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610471565b5050611829565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156117f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118199190611f59565b949a509298509096509450925090505b85156118d0576040516001600160a01b038616908790600081818185875af1925050503d8060008114611878576040519150601f19603f3d011682016040523d82523d6000602084013e61187d565b606091505b505080975050866118d05760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610471565b831561196f576040516001600160a01b038416908590600081818185875af1925050503d806000811461191f576040519150601f19603f3d011682016040523d82523d6000602084013e611924565b606091505b5050809750508661196f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610471565b8115611a16576040516001600160a01b038216908390600081818185875af1925050503d80600081146119be576040519150601f19603f3d011682016040523d82523d6000602084013e6119c3565b606091505b50508097505086611a165760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610471565b50505050505050505050565b6001600160a01b038116811461162e57600080fd5b8035611a4281611a22565b919050565b60008060408385031215611a5a57600080fd5b8235611a6581611a22565b946020939093013593505050565b600060208284031215611a8557600080fd5b5035919050565b60008060408385031215611a9f57600080fd5b50508035926020909101359150565b60005b83811015611ac9578181015183820152602001611ab1565b50506000910152565b60008151808452611aea816020860160208601611aae565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611b1f6080830185611ad2565b905060018060a01b038316606083015295945050505050565b6001600160a01b0391909116815260200190565b8615158152851515602082015262ffffff8516604082015260018060a01b038416606082015282608082015260c060a08201526000611b8e60c0830184611ad2565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215611bc557600080fd5b8335925060208401356001600160401b0380821115611be357600080fd5b818601915086601f830112611bf757600080fd5b813581811115611c0957611c09611b9a565b604051601f8201601f19908116603f01168101908382118183101715611c3157611c31611b9a565b81604052828152896020848701011115611c4a57600080fd5b826020860160208301376000602084830101528096505050505050611c7160408501611a37565b90509250925092565b602081526000610d6c6020830184611ad2565b600060208284031215611c9f57600080fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b80518015158114611a4257600080fd5b60008060008060008060c08789031215611ce957600080fd5b8651955060208701519450611d0060408801611cc0565b9350611d0e60608801611cc0565b925060808701519150611d2360a08801611cc0565b90509295509295509295565b600181811c90821680611d4357607f821691505b602082108103611d6357634e487b7160e01b600052602260045260246000fd5b50919050565b60008251611d7b818460208701611aae565b9190910192915050565b601f821115610c6557600081815260208120601f850160051c81016020861015611dac5750805b601f850160051c820191505b81811015611dcb57828155600101611db8565b505050505050565b81516001600160401b03811115611dec57611dec611b9a565b611e0081611dfa8454611d2f565b84611d85565b602080601f831160018114611e355760008415611e1d5750858301515b600019600386901b1c1916600185901b178555611dcb565b600085815260208120601f198616915b82811015611e6457888601518255948401946001909101908401611e45565b5085821015611e825787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080600080600080600080610100898b031215611eaf57600080fd5b885197506020890151611ec181611a22565b60408a015160608b01519198509650611ed981611a22565b60808a015160a08b01519196509450611ef181611a22565b60c08a015160e08b01519194509250611f0981611a22565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215611f5057600080fd5b610d6c82611cc0565b60008060008060008060c08789031215611f7257600080fd5b865195506020870151611f8481611a22565b604088015160608901519196509450611f9c81611a22565b608088015160a08901519194509250611fb481611a22565b809150509295509295509295565b8181038181111561092657634e487b7160e01b600052601160045260246000fd5b600060208284031215611ff557600080fd5b8151610d6c81611a2256fea264697066735822122074ed7e0dabb70afae6e89d8c7839a2b9a0dd936a2fe6af2de7daca526c33890a64736f6c63430008130033",
766
766
  "linkReferences": {},
767
767
  "deployedLinkReferences": {}
768
768
  }
@@ -690,8 +690,8 @@
690
690
  "type": "function"
691
691
  }
692
692
  ],
693
- "bytecode": "0x6101206040523480156200001257600080fd5b506040516200198b3803806200198b8339810160408190526200003591620002d5565b600160005581620000468162000137565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d391906200030d565b6001600160a01b0316146200012f5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b505062000363565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906200019b90859062000332565b6000604051808303816000865af19150503d8060008114620001da576040519150601f19603f3d011682016040523d82523d6000602084013e620001df565b606091505b509150915081620002415760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000126565b805160c0819003620002595750600095945050505050565b80610100036200026f5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000126565b80516001600160a01b0381168114620002d057600080fd5b919050565b60008060408385031215620002e957600080fd5b620002f483620002b8565b91506200030460208401620002b8565b90509250929050565b6000602082840312156200032057600080fd5b6200032b82620002b8565b9392505050565b6000825160005b8181101562000355576020818601810151858301520162000339565b506000920191825250919050565b60805160a05160c05160e051610100516115b2620003d960003960006105c5015260006103ad015260008181610711015281816107d7015281816109ef01528181610ae901528181610c350152610cfb01526000818161027101526106b60152600081816103790152610eb201526115b26000f3fe6080604052600436106100ca5760003560e01c80619987146100cf578061b460146100f55780631607c9951461010857806340d1397e1461012a578063462add461461014a57806356690aaf1461018a5780636cb9b7ff146101c2578063774159c6146101e2578063891407c01461024c57806392a10f831461025f578063c71b1b71146102ab578063d3ddabe614610328578063db6921b214610367578063dd85582f1461039b578063e9d1e8ac146103cf578063efef39a1146100f5578063f7bd4b881461040b575b600080fd5b6100e26100dd3660046112a1565b61042b565b6040519081526020015b60405180910390f35b6100e26101033660046112cd565b6106e7565b34801561011457600080fd5b506101286101233660046112e6565b6106f9565b005b34801561013657600080fd5b506101286101453660046112cd565b6109d7565b34801561015657600080fd5b5061017a6101653660046112cd565b60009081526001602052604090205460ff1690565b60405190151581526020016100ec565b34801561019657600080fd5b506100e26101a53660046112cd565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ce57600080fd5b506101286101dd3660046112e6565b610ad1565b3480156101ee57600080fd5b5061023c6101fd3660046112cd565b600090815260016020818152604080842080549301548151808301909252600382526208aa8960eb1b9282019290925261010090920460ff1693909290565b6040516100ec949392919061134e565b6100e261025a3660046112a1565b610c0a565b34801561026b57600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ec565b3480156102b757600080fd5b506102fb6102c63660046112cd565b6001602081905260009182526040909120805491015460ff808316926101008104909116916201000090910462ffffff169084565b6040516100ec94939291909315158452911515602084015262ffffff166040830152606082015260800190565b34801561033457600080fd5b5061035a60405180604001604052806006815260200165076342e312e360d41b81525081565b6040516100ec9190611388565b34801561037357600080fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a757600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b3480156103db57600080fd5b5061035a6040518060400160405280601081526020016f135a5b9d195c94d95d141c9a58d9558d60821b81525081565b34801561041757600080fd5b506101286104263660046112cd565b610c1d565b60006002600054036104845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104f75760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b606482015260840161047b565b8054610100900460ff166105445760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161047b565b6001810154348111156105995760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7421604482015260640161047b565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af115801561060e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610632919061139b565b8254909350620f424084066001019062010000900462ffffff168082111561069a5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b604482015260640161047b565b8082036106ad57835460ff191660011784555b50506106da84827f0000000000000000000000000000000000000000000000000000000000000000610de2565b5050600160005592915050565b60006106f3338361042b565b92915050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078491906113b4565b6001600160a01b0316336001600160a01b0316146107b45760405162461bcd60e51b815260040161047b906113d1565b604051630ea5613f60e01b81526004810184905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610842919061140b565b50929550929350505050818411156108e25760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161047b565b808410156109645760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161047b565b60008581526001602052604090819020805460ff1962ffffff881662010000021664ffffff00ff19909116178387141790555185907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109c89087815260200190565b60405180910390a25050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113b4565b6001600160a01b0316336001600160a01b031614610a925760405162461bcd60e51b815260040161047b906113d1565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161047b565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906113b4565b6001600160a01b0316336001600160a01b031614610b8c5760405162461bcd60e51b815260040161047b906113d1565b6000838152600160208190526040808320918201859055815461ff001916610100178255519091849186917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff16158015610bf65750805460ff16155b15610c0457610c0484610c1d565b50505050565b6000610c16838361042b565b9392505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca891906113b4565b6001600160a01b0316336001600160a01b031614610cd85760405162461bcd60e51b815260040161047b906113d1565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d66919061140b565b50505060008781526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508591507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610dd49085815260200190565b60405180910390a250505050565b3415610e9357600080610df5843461146a565b90508015610e855760405133908290600081818185875af1925050503d8060008114610e3d576040519150601f19603f3d011682016040523d82523d6000602084013e610e42565b606091505b50508092505081610e855760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b604482015260640161047b565b610e90858585610e98565b50505b505050565b60008211610ea557505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561101057604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c919061148b565b969e50949c50909a50985091965091945090925090508115611009576040516001600160a01b038216908390600081818185875af1925050503d8060008114610fb1576040519150601f19603f3d011682016040523d82523d6000602084013e610fb6565b606091505b505080995050886110095760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161047b565b5050611090565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa15801561105c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110809190611513565b949a509298509096509450925090505b8515611137576040516001600160a01b038616908790600081818185875af1925050503d80600081146110df576040519150601f19603f3d011682016040523d82523d6000602084013e6110e4565b606091505b505080975050866111375760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161047b565b83156111d6576040516001600160a01b038416908590600081818185875af1925050503d8060008114611186576040519150601f19603f3d011682016040523d82523d6000602084013e61118b565b606091505b505080975050866111d65760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161047b565b811561127d576040516001600160a01b038216908390600081818185875af1925050503d8060008114611225576040519150601f19603f3d011682016040523d82523d6000602084013e61122a565b606091505b5050809750508661127d5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161047b565b50505050505050505050565b6001600160a01b038116811461129e57600080fd5b50565b600080604083850312156112b457600080fd5b82356112bf81611289565b946020939093013593505050565b6000602082840312156112df57600080fd5b5035919050565b600080604083850312156112f957600080fd5b50508035926020909101359150565b6000815180845260005b8181101561132e57602081850181015186830182015201611312565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061136f6080830185611308565b905060018060a01b038316606083015295945050505050565b602081526000610c166020830184611308565b6000602082840312156113ad57600080fd5b5051919050565b6000602082840312156113c657600080fd5b8151610c1681611289565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b8051801515811461140657600080fd5b919050565b60008060008060008060c0878903121561142457600080fd5b865195506020870151945061143b604088016113f6565b9350611449606088016113f6565b92506080870151915061145e60a088016113f6565b90509295509295509295565b818103818111156106f357634e487b7160e01b600052601160045260246000fd5b600080600080600080600080610100898b0312156114a857600080fd5b8851975060208901516114ba81611289565b60408a015160608b015191985096506114d281611289565b60808a015160a08b015191965094506114ea81611289565b60c08a015160e08b0151919450925061150281611289565b809150509295985092959890939650565b60008060008060008060c0878903121561152c57600080fd5b86519550602087015161153e81611289565b60408801516060890151919650945061155681611289565b608088015160a0890151919450925061156e81611289565b80915050929550929550929556fea26469706673582212200c474650a953f3d0f35a54e973e06b09c0aca26761f31453db463c2df8751a4e64736f6c63430008110033",
694
- "deployedBytecode": "0x6080604052600436106100ca5760003560e01c80619987146100cf578061b460146100f55780631607c9951461010857806340d1397e1461012a578063462add461461014a57806356690aaf1461018a5780636cb9b7ff146101c2578063774159c6146101e2578063891407c01461024c57806392a10f831461025f578063c71b1b71146102ab578063d3ddabe614610328578063db6921b214610367578063dd85582f1461039b578063e9d1e8ac146103cf578063efef39a1146100f5578063f7bd4b881461040b575b600080fd5b6100e26100dd3660046112a1565b61042b565b6040519081526020015b60405180910390f35b6100e26101033660046112cd565b6106e7565b34801561011457600080fd5b506101286101233660046112e6565b6106f9565b005b34801561013657600080fd5b506101286101453660046112cd565b6109d7565b34801561015657600080fd5b5061017a6101653660046112cd565b60009081526001602052604090205460ff1690565b60405190151581526020016100ec565b34801561019657600080fd5b506100e26101a53660046112cd565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ce57600080fd5b506101286101dd3660046112e6565b610ad1565b3480156101ee57600080fd5b5061023c6101fd3660046112cd565b600090815260016020818152604080842080549301548151808301909252600382526208aa8960eb1b9282019290925261010090920460ff1693909290565b6040516100ec949392919061134e565b6100e261025a3660046112a1565b610c0a565b34801561026b57600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ec565b3480156102b757600080fd5b506102fb6102c63660046112cd565b6001602081905260009182526040909120805491015460ff808316926101008104909116916201000090910462ffffff169084565b6040516100ec94939291909315158452911515602084015262ffffff166040830152606082015260800190565b34801561033457600080fd5b5061035a60405180604001604052806006815260200165076342e312e360d41b81525081565b6040516100ec9190611388565b34801561037357600080fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a757600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b3480156103db57600080fd5b5061035a6040518060400160405280601081526020016f135a5b9d195c94d95d141c9a58d9558d60821b81525081565b34801561041757600080fd5b506101286104263660046112cd565b610c1d565b60006002600054036104845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104f75760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b606482015260840161047b565b8054610100900460ff166105445760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161047b565b6001810154348111156105995760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7421604482015260640161047b565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af115801561060e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610632919061139b565b8254909350620f424084066001019062010000900462ffffff168082111561069a5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b604482015260640161047b565b8082036106ad57835460ff191660011784555b50506106da84827f0000000000000000000000000000000000000000000000000000000000000000610de2565b5050600160005592915050565b60006106f3338361042b565b92915050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078491906113b4565b6001600160a01b0316336001600160a01b0316146107b45760405162461bcd60e51b815260040161047b906113d1565b604051630ea5613f60e01b81526004810184905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610842919061140b565b50929550929350505050818411156108e25760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161047b565b808410156109645760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161047b565b60008581526001602052604090819020805460ff1962ffffff881662010000021664ffffff00ff19909116178387141790555185907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109c89087815260200190565b60405180910390a25050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113b4565b6001600160a01b0316336001600160a01b031614610a925760405162461bcd60e51b815260040161047b906113d1565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161047b565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906113b4565b6001600160a01b0316336001600160a01b031614610b8c5760405162461bcd60e51b815260040161047b906113d1565b6000838152600160208190526040808320918201859055815461ff001916610100178255519091849186917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff16158015610bf65750805460ff16155b15610c0457610c0484610c1d565b50505050565b6000610c16838361042b565b9392505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca891906113b4565b6001600160a01b0316336001600160a01b031614610cd85760405162461bcd60e51b815260040161047b906113d1565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d66919061140b565b50505060008781526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508591507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610dd49085815260200190565b60405180910390a250505050565b3415610e9357600080610df5843461146a565b90508015610e855760405133908290600081818185875af1925050503d8060008114610e3d576040519150601f19603f3d011682016040523d82523d6000602084013e610e42565b606091505b50508092505081610e855760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b604482015260640161047b565b610e90858585610e98565b50505b505050565b60008211610ea557505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561101057604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c919061148b565b969e50949c50909a50985091965091945090925090508115611009576040516001600160a01b038216908390600081818185875af1925050503d8060008114610fb1576040519150601f19603f3d011682016040523d82523d6000602084013e610fb6565b606091505b505080995050886110095760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161047b565b5050611090565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa15801561105c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110809190611513565b949a509298509096509450925090505b8515611137576040516001600160a01b038616908790600081818185875af1925050503d80600081146110df576040519150601f19603f3d011682016040523d82523d6000602084013e6110e4565b606091505b505080975050866111375760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161047b565b83156111d6576040516001600160a01b038416908590600081818185875af1925050503d8060008114611186576040519150601f19603f3d011682016040523d82523d6000602084013e61118b565b606091505b505080975050866111d65760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161047b565b811561127d576040516001600160a01b038216908390600081818185875af1925050503d8060008114611225576040519150601f19603f3d011682016040523d82523d6000602084013e61122a565b606091505b5050809750508661127d5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161047b565b50505050505050505050565b6001600160a01b038116811461129e57600080fd5b50565b600080604083850312156112b457600080fd5b82356112bf81611289565b946020939093013593505050565b6000602082840312156112df57600080fd5b5035919050565b600080604083850312156112f957600080fd5b50508035926020909101359150565b6000815180845260005b8181101561132e57602081850181015186830182015201611312565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061136f6080830185611308565b905060018060a01b038316606083015295945050505050565b602081526000610c166020830184611308565b6000602082840312156113ad57600080fd5b5051919050565b6000602082840312156113c657600080fd5b8151610c1681611289565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b8051801515811461140657600080fd5b919050565b60008060008060008060c0878903121561142457600080fd5b865195506020870151945061143b604088016113f6565b9350611449606088016113f6565b92506080870151915061145e60a088016113f6565b90509295509295509295565b818103818111156106f357634e487b7160e01b600052601160045260246000fd5b600080600080600080600080610100898b0312156114a857600080fd5b8851975060208901516114ba81611289565b60408a015160608b015191985096506114d281611289565b60808a015160a08b015191965094506114ea81611289565b60c08a015160e08b0151919450925061150281611289565b809150509295985092959890939650565b60008060008060008060c0878903121561152c57600080fd5b86519550602087015161153e81611289565b60408801516060890151919650945061155681611289565b608088015160a0890151919450925061156e81611289565b80915050929550929550929556fea26469706673582212200c474650a953f3d0f35a54e973e06b09c0aca26761f31453db463c2df8751a4e64736f6c63430008110033",
693
+ "bytecode": "0x6101206040523480156200001257600080fd5b506040516200175c3803806200175c8339810160408190526200003591620002d5565b600160005581620000468162000137565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d391906200030d565b6001600160a01b0316146200012f5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b505062000363565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906200019b90859062000332565b6000604051808303816000865af19150503d8060008114620001da576040519150601f19603f3d011682016040523d82523d6000602084013e620001df565b606091505b509150915081620002415760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000126565b805160c0819003620002595750600095945050505050565b80610100036200026f5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000126565b80516001600160a01b0381168114620002d057600080fd5b919050565b60008060408385031215620002e957600080fd5b620002f483620002b8565b91506200030460208401620002b8565b90509250929050565b6000602082840312156200032057600080fd5b6200032b82620002b8565b9392505050565b6000825160005b8181101562000355576020818601810151858301520162000339565b506000920191825250919050565b60805160a05160c05160e05161010051611398620003c460003960006105c5015260006103ad01526000818161072501528181610a310152610be201526000818161027101526106b60152600081816103790152610cc001526113986000f3fe6080604052600436106100ca5760003560e01c80619987146100cf578061b460146100f55780631607c9951461010857806340d1397e1461012a578063462add461461014a57806356690aaf1461018a5780636cb9b7ff146101c2578063774159c6146101e2578063891407c01461024c57806392a10f831461025f578063c71b1b71146102ab578063d3ddabe614610328578063db6921b214610367578063dd85582f1461039b578063e9d1e8ac146103cf578063efef39a1146100f5578063f7bd4b881461040b575b600080fd5b6100e26100dd3660046110ac565b61042b565b6040519081526020015b60405180910390f35b6100e26101033660046110d8565b6106e7565b34801561011457600080fd5b506101286101233660046110f1565b6106f9565b005b34801561013657600080fd5b506101286101453660046110d8565b610924565b34801561015657600080fd5b5061017a6101653660046110d8565b60009081526001602052604090205460ff1690565b60405190151581526020016100ec565b34801561019657600080fd5b506100e26101a53660046110d8565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ce57600080fd5b506101286101dd3660046110f1565b61096c565b3480156101ee57600080fd5b5061023c6101fd3660046110d8565b600090815260016020818152604080842080549301548151808301909252600382526208aa8960eb1b9282019290925261010090920460ff1693909290565b6040516100ec9493929190611159565b6100e261025a3660046110ac565b6109f2565b34801561026b57600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ec565b3480156102b757600080fd5b506102fb6102c63660046110d8565b6001602081905260009182526040909120805491015460ff808316926101008104909116916201000090910462ffffff169084565b6040516100ec94939291909315158452911515602084015262ffffff166040830152606082015260800190565b34801561033457600080fd5b5061035a60405180604001604052806006815260200165076342e312e360d41b81525081565b6040516100ec9190611193565b34801561037357600080fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a757600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b3480156103db57600080fd5b5061035a6040518060400160405280601081526020016f135a5b9d195c94d95d141c9a58d9558d60821b81525081565b34801561041757600080fd5b506101286104263660046110d8565b610a05565b60006002600054036104845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104f75760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b606482015260840161047b565b8054610100900460ff166105445760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161047b565b6001810154348111156105995760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7421604482015260640161047b565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af115801561060e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063291906111a6565b8254909350620f424084066001019062010000900462ffffff168082111561069a5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b604482015260640161047b565b8082036106ad57835460ff191660011784555b50506106da84827f0000000000000000000000000000000000000000000000000000000000000000610b17565b5050600160005592915050565b60006106f3338361042b565b92915050565b61070282610bcc565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561076c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079091906111d4565b50929550929350505050818311156108305760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161047b565b808310156108b25760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161047b565b60008481526001602052604090819020805460ff1962ffffff871662010000021664ffffff00ff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109169086815260200190565b60405180910390a250505050565b61092d81610bcc565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161047b565b61097582610bcc565b6000828152600160208190526040808320918201849055815461ff001916610100178255519091839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff161580156109df5750805460ff16155b156109ed576109ed83610a05565b505050565b60006109fe838361042b565b9392505050565b610a0e81610bcc565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c91906111d4565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610b0a9085815260200190565b60405180910390a2505050565b34156109ed57600080610b2a8434611233565b90508015610bba5760405133908290600081818185875af1925050503d8060008114610b72576040519150601f19603f3d011682016040523d82523d6000602084013e610b77565b606091505b50508092505081610bba5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b604482015260640161047b565b610bc5858585610ca6565b5050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611254565b6001600160a01b0316336001600160a01b031614610ca35760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161047b565b50565b60008211610cb357505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015610e1e57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5a9190611271565b969e50949c50909a50985091965091945090925090508115610e17576040516001600160a01b038216908390600081818185875af1925050503d8060008114610dbf576040519150601f19603f3d011682016040523d82523d6000602084013e610dc4565b606091505b50508099505088610e175760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161047b565b5050610e9e565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015610e6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8e91906112f9565b949a509298509096509450925090505b8515610f45576040516001600160a01b038616908790600081818185875af1925050503d8060008114610eed576040519150601f19603f3d011682016040523d82523d6000602084013e610ef2565b606091505b50508097505086610f455760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161047b565b8315610fe4576040516001600160a01b038416908590600081818185875af1925050503d8060008114610f94576040519150601f19603f3d011682016040523d82523d6000602084013e610f99565b606091505b50508097505086610fe45760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161047b565b811561108b576040516001600160a01b038216908390600081818185875af1925050503d8060008114611033576040519150601f19603f3d011682016040523d82523d6000602084013e611038565b606091505b5050809750508661108b5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161047b565b50505050505050505050565b6001600160a01b0381168114610ca357600080fd5b600080604083850312156110bf57600080fd5b82356110ca81611097565b946020939093013593505050565b6000602082840312156110ea57600080fd5b5035919050565b6000806040838503121561110457600080fd5b50508035926020909101359150565b6000815180845260005b818110156111395760208185018101518683018201520161111d565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061117a6080830185611113565b905060018060a01b038316606083015295945050505050565b6020815260006109fe6020830184611113565b6000602082840312156111b857600080fd5b5051919050565b805180151581146111cf57600080fd5b919050565b60008060008060008060c087890312156111ed57600080fd5b8651955060208701519450611204604088016111bf565b9350611212606088016111bf565b92506080870151915061122760a088016111bf565b90509295509295509295565b818103818111156106f357634e487b7160e01b600052601160045260246000fd5b60006020828403121561126657600080fd5b81516109fe81611097565b600080600080600080600080610100898b03121561128e57600080fd5b8851975060208901516112a081611097565b60408a015160608b015191985096506112b881611097565b60808a015160a08b015191965094506112d081611097565b60c08a015160e08b015191945092506112e881611097565b809150509295985092959890939650565b60008060008060008060c0878903121561131257600080fd5b86519550602087015161132481611097565b60408801516060890151919650945061133c81611097565b608088015160a0890151919450925061135481611097565b80915050929550929550929556fea2646970667358221220d219cb803f8de25f3b4bb3f23abae62471b218b479bb1cf36ed351d2b65e5d7464736f6c63430008130033",
694
+ "deployedBytecode": "0x6080604052600436106100ca5760003560e01c80619987146100cf578061b460146100f55780631607c9951461010857806340d1397e1461012a578063462add461461014a57806356690aaf1461018a5780636cb9b7ff146101c2578063774159c6146101e2578063891407c01461024c57806392a10f831461025f578063c71b1b71146102ab578063d3ddabe614610328578063db6921b214610367578063dd85582f1461039b578063e9d1e8ac146103cf578063efef39a1146100f5578063f7bd4b881461040b575b600080fd5b6100e26100dd3660046110ac565b61042b565b6040519081526020015b60405180910390f35b6100e26101033660046110d8565b6106e7565b34801561011457600080fd5b506101286101233660046110f1565b6106f9565b005b34801561013657600080fd5b506101286101453660046110d8565b610924565b34801561015657600080fd5b5061017a6101653660046110d8565b60009081526001602052604090205460ff1690565b60405190151581526020016100ec565b34801561019657600080fd5b506100e26101a53660046110d8565b60009081526001602052604090205462010000900462ffffff1690565b3480156101ce57600080fd5b506101286101dd3660046110f1565b61096c565b3480156101ee57600080fd5b5061023c6101fd3660046110d8565b600090815260016020818152604080842080549301548151808301909252600382526208aa8960eb1b9282019290925261010090920460ff1693909290565b6040516100ec9493929190611159565b6100e261025a3660046110ac565b6109f2565b34801561026b57600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ec565b3480156102b757600080fd5b506102fb6102c63660046110d8565b6001602081905260009182526040909120805491015460ff808316926101008104909116916201000090910462ffffff169084565b6040516100ec94939291909315158452911515602084015262ffffff166040830152606082015260800190565b34801561033457600080fd5b5061035a60405180604001604052806006815260200165076342e312e360d41b81525081565b6040516100ec9190611193565b34801561037357600080fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a757600080fd5b506102937f000000000000000000000000000000000000000000000000000000000000000081565b3480156103db57600080fd5b5061035a6040518060400160405280601081526020016f135a5b9d195c94d95d141c9a58d9558d60821b81525081565b34801561041757600080fd5b506101286104263660046110d8565b610a05565b60006002600054036104845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156104f75760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b606482015260840161047b565b8054610100900460ff166105445760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161047b565b6001810154348111156105995760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7421604482015260640161047b565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af115801561060e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063291906111a6565b8254909350620f424084066001019062010000900462ffffff168082111561069a5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b604482015260640161047b565b8082036106ad57835460ff191660011784555b50506106da84827f0000000000000000000000000000000000000000000000000000000000000000610b17565b5050600160005592915050565b60006106f3338361042b565b92915050565b61070282610bcc565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561076c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079091906111d4565b50929550929350505050818311156108305760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161047b565b808310156108b25760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161047b565b60008481526001602052604090819020805460ff1962ffffff871662010000021664ffffff00ff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109169086815260200190565b60405180910390a250505050565b61092d81610bcc565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161047b565b61097582610bcc565b6000828152600160208190526040808320918201849055815461ff001916610100178255519091839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff161580156109df5750805460ff16155b156109ed576109ed83610a05565b505050565b60006109fe838361042b565b9392505050565b610a0e81610bcc565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c91906111d4565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610b0a9085815260200190565b60405180910390a2505050565b34156109ed57600080610b2a8434611233565b90508015610bba5760405133908290600081818185875af1925050503d8060008114610b72576040519150601f19603f3d011682016040523d82523d6000602084013e610b77565b606091505b50508092505081610bba5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b604482015260640161047b565b610bc5858585610ca6565b5050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611254565b6001600160a01b0316336001600160a01b031614610ca35760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161047b565b50565b60008211610cb357505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015610e1e57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5a9190611271565b969e50949c50909a50985091965091945090925090508115610e17576040516001600160a01b038216908390600081818185875af1925050503d8060008114610dbf576040519150601f19603f3d011682016040523d82523d6000602084013e610dc4565b606091505b50508099505088610e175760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161047b565b5050610e9e565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015610e6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8e91906112f9565b949a509298509096509450925090505b8515610f45576040516001600160a01b038616908790600081818185875af1925050503d8060008114610eed576040519150601f19603f3d011682016040523d82523d6000602084013e610ef2565b606091505b50508097505086610f455760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161047b565b8315610fe4576040516001600160a01b038416908590600081818185875af1925050503d8060008114610f94576040519150601f19603f3d011682016040523d82523d6000602084013e610f99565b606091505b50508097505086610fe45760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161047b565b811561108b576040516001600160a01b038216908390600081818185875af1925050503d8060008114611033576040519150601f19603f3d011682016040523d82523d6000602084013e611038565b606091505b5050809750508661108b5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161047b565b50505050505050505050565b6001600160a01b0381168114610ca357600080fd5b600080604083850312156110bf57600080fd5b82356110ca81611097565b946020939093013593505050565b6000602082840312156110ea57600080fd5b5035919050565b6000806040838503121561110457600080fd5b50508035926020909101359150565b6000815180845260005b818110156111395760208185018101518683018201520161111d565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061117a6080830185611113565b905060018060a01b038316606083015295945050505050565b6020815260006109fe6020830184611113565b6000602082840312156111b857600080fd5b5051919050565b805180151581146111cf57600080fd5b919050565b60008060008060008060c087890312156111ed57600080fd5b8651955060208701519450611204604088016111bf565b9350611212606088016111bf565b92506080870151915061122760a088016111bf565b90509295509295509295565b818103818111156106f357634e487b7160e01b600052601160045260246000fd5b60006020828403121561126657600080fd5b81516109fe81611097565b600080600080600080600080610100898b03121561128e57600080fd5b8851975060208901516112a081611097565b60408a015160608b015191985096506112b881611097565b60808a015160a08b015191965094506112d081611097565b60c08a015160e08b015191945092506112e881611097565b809150509295985092959890939650565b60008060008060008060c0878903121561131257600080fd5b86519550602087015161132481611097565b60408801516060890151919650945061133c81611097565b608088015160a0890151919450925061135481611097565b80915050929550929550929556fea2646970667358221220d219cb803f8de25f3b4bb3f23abae62471b218b479bb1cf36ed351d2b65e5d7464736f6c63430008130033",
695
695
  "linkReferences": {},
696
696
  "deployedLinkReferences": {}
697
697
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "BytecodeTextCR_DMock",
4
- "sourceName": "contracts/mock/BytecodeTextCR_DMock.sol",
3
+ "contractName": "BytecodeV0TextCR_DMock",
4
+ "sourceName": "contracts/mock/BytecodeV0TextCR_DMock.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
@@ -187,8 +187,8 @@
187
187
  "type": "function"
188
188
  }
189
189
  ],
190
- "bytecode": "0x60806040526000805534801561001457600080fd5b50600280546001600160a01b031916331790556109da806100366000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80630d2095fc1461009e5780631de2784f146100b35780633a72c065146100dc5780635784510e146100ef578063589f62a31461011a5780635b3c91e01461012d57806360307b801461014057806378f386b1146101695780639d64af1a1461017c578063c11de25514610193578063efdee94f146101a6575b600080fd5b6100b16100ac366004610648565b6101b9565b005b6100c66100c1366004610648565b610242565b6040516100d3919061068e565b60405180910390f35b6100b16100ea36600461074c565b61025c565b6101026100fd366004610648565b6102ea565b6040516001600160a01b0390911681526020016100d3565b6100b16101283660046107ad565b6102fe565b6100b161013b366004610648565b610367565b61010261014e3660046107ad565b6001602052600090815260409020546001600160a01b031681565b6100c66101773660046107ad565b6103a6565b61018560005481565b6040519081526020016100d3565b6101856101a13660046107c6565b6103ca565b600254610102906001600160a01b031681565b6002546001600160a01b031633146101ec5760405162461bcd60e51b81526004016101e390610816565b60405180910390fd5b6040516000906001600160a01b038316908281818181865af19150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090505b5050565b6060610256826001600160a01b031661044b565b92915050565b6002546001600160a01b031633146102865760405162461bcd60e51b81526004016101e390610816565b6000826001600160a01b0316826040516102a09190610859565b6000604051808303816000865af19150503d80600081146102dd576040519150601f19603f3d011682016040523d82523d6000602084013e6102e2565b606091505b505050505050565b6000610256826001600160a01b03166104a6565b6002546001600160a01b031633146103285760405162461bcd60e51b81526004016101e390610816565b600081815260016020526040902054610349906001600160a01b03166104ec565b600090815260016020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146103915760405162461bcd60e51b81526004016101e390610816565b6103a3816001600160a01b03166104ec565b50565b600081815260016020526040902054606090610256906001600160a01b031661044b565b6002546000906001600160a01b031633146103f75760405162461bcd60e51b81526004016101e390610816565b610400826105a3565b60008054815260016020526040812080546001600160a01b0319166001600160a01b03939093169290921790915580549081908061043d83610875565b90915550909150505b919050565b6060813b606881108061045c575080155b156104795760405162461bcd60e51b81526004016101e39061089c565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b6000813b60688110806104b7575080155b156104d45760405162461bcd60e51b81526004016101e39061089c565b6040516020604051016040526020604882863c602081f35b6000816001600160a01b0316604051610510906001600160f81b0319815260010190565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b505090508061023e5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f720060448201526064016101e3565b60008030836040516020016105b99291906108d3565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661062b5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f72000060448201526064016101e3565b50919050565b80356001600160a01b038116811461044657600080fd5b60006020828403121561065a57600080fd5b61066382610631565b9392505050565b60005b8381101561068557818101518382015260200161066d565b50506000910152565b60208152600082518060208401526106ad81604085016020870161066a565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156106f1576106f16106c1565b604051601f8501601f19908116603f01168101908282118183101715610719576107196106c1565b8160405280935085815286868601111561073257600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561075f57600080fd5b61076883610631565b915060208301356001600160401b0381111561078357600080fd5b8301601f8101851361079457600080fd5b6107a3858235602084016106d7565b9150509250929050565b6000602082840312156107bf57600080fd5b5035919050565b6000602082840312156107d857600080fd5b81356001600160401b038111156107ee57600080fd5b8201601f810184136107ff57600080fd5b61080e848235602084016106d7565b949350505050565b6020808252600d908201526c27b7363c903232b83637bcb2b960991b604082015260600190565b6000815161084f81856020860161066a565b9290920192915050565b6000825161086b81846020870161066a565b9190910192915050565b60006001820161089557634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526109786053830160008152600c0190565b61098e818660601b6001600160601b0319169052565b61099b601482018561083d565b9594505050505056fea2646970667358221220552ff89b168317995fb36e87152791dd40c91069c83fec772b79a3546aeecdbb64736f6c63430008110033",
191
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c80630d2095fc1461009e5780631de2784f146100b35780633a72c065146100dc5780635784510e146100ef578063589f62a31461011a5780635b3c91e01461012d57806360307b801461014057806378f386b1146101695780639d64af1a1461017c578063c11de25514610193578063efdee94f146101a6575b600080fd5b6100b16100ac366004610648565b6101b9565b005b6100c66100c1366004610648565b610242565b6040516100d3919061068e565b60405180910390f35b6100b16100ea36600461074c565b61025c565b6101026100fd366004610648565b6102ea565b6040516001600160a01b0390911681526020016100d3565b6100b16101283660046107ad565b6102fe565b6100b161013b366004610648565b610367565b61010261014e3660046107ad565b6001602052600090815260409020546001600160a01b031681565b6100c66101773660046107ad565b6103a6565b61018560005481565b6040519081526020016100d3565b6101856101a13660046107c6565b6103ca565b600254610102906001600160a01b031681565b6002546001600160a01b031633146101ec5760405162461bcd60e51b81526004016101e390610816565b60405180910390fd5b6040516000906001600160a01b038316908281818181865af19150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090505b5050565b6060610256826001600160a01b031661044b565b92915050565b6002546001600160a01b031633146102865760405162461bcd60e51b81526004016101e390610816565b6000826001600160a01b0316826040516102a09190610859565b6000604051808303816000865af19150503d80600081146102dd576040519150601f19603f3d011682016040523d82523d6000602084013e6102e2565b606091505b505050505050565b6000610256826001600160a01b03166104a6565b6002546001600160a01b031633146103285760405162461bcd60e51b81526004016101e390610816565b600081815260016020526040902054610349906001600160a01b03166104ec565b600090815260016020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146103915760405162461bcd60e51b81526004016101e390610816565b6103a3816001600160a01b03166104ec565b50565b600081815260016020526040902054606090610256906001600160a01b031661044b565b6002546000906001600160a01b031633146103f75760405162461bcd60e51b81526004016101e390610816565b610400826105a3565b60008054815260016020526040812080546001600160a01b0319166001600160a01b03939093169290921790915580549081908061043d83610875565b90915550909150505b919050565b6060813b606881108061045c575080155b156104795760405162461bcd60e51b81526004016101e39061089c565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b6000813b60688110806104b7575080155b156104d45760405162461bcd60e51b81526004016101e39061089c565b6040516020604051016040526020604882863c602081f35b6000816001600160a01b0316604051610510906001600160f81b0319815260010190565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b505090508061023e5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f720060448201526064016101e3565b60008030836040516020016105b99291906108d3565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661062b5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f72000060448201526064016101e3565b50919050565b80356001600160a01b038116811461044657600080fd5b60006020828403121561065a57600080fd5b61066382610631565b9392505050565b60005b8381101561068557818101518382015260200161066d565b50506000910152565b60208152600082518060208401526106ad81604085016020870161066a565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156106f1576106f16106c1565b604051601f8501601f19908116603f01168101908282118183101715610719576107196106c1565b8160405280935085815286868601111561073257600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561075f57600080fd5b61076883610631565b915060208301356001600160401b0381111561078357600080fd5b8301601f8101851361079457600080fd5b6107a3858235602084016106d7565b9150509250929050565b6000602082840312156107bf57600080fd5b5035919050565b6000602082840312156107d857600080fd5b81356001600160401b038111156107ee57600080fd5b8201601f810184136107ff57600080fd5b61080e848235602084016106d7565b949350505050565b6020808252600d908201526c27b7363c903232b83637bcb2b960991b604082015260600190565b6000815161084f81856020860161066a565b9290920192915050565b6000825161086b81846020870161066a565b9190910192915050565b60006001820161089557634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526109786053830160008152600c0190565b61098e818660601b6001600160601b0319169052565b61099b601482018561083d565b9594505050505056fea2646970667358221220552ff89b168317995fb36e87152791dd40c91069c83fec772b79a3546aeecdbb64736f6c63430008110033",
190
+ "bytecode": "0x60806040526000805534801561001457600080fd5b50600280546001600160a01b031916331790556109da806100366000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80630d2095fc1461009e5780631de2784f146100b35780633a72c065146100dc5780635784510e146100ef578063589f62a31461011a5780635b3c91e01461012d57806360307b801461014057806378f386b1146101695780639d64af1a1461017c578063c11de25514610193578063efdee94f146101a6575b600080fd5b6100b16100ac366004610648565b6101b9565b005b6100c66100c1366004610648565b610242565b6040516100d3919061068e565b60405180910390f35b6100b16100ea36600461074c565b61025c565b6101026100fd366004610648565b6102ea565b6040516001600160a01b0390911681526020016100d3565b6100b16101283660046107ad565b6102fe565b6100b161013b366004610648565b610367565b61010261014e3660046107ad565b6001602052600090815260409020546001600160a01b031681565b6100c66101773660046107ad565b6103a6565b61018560005481565b6040519081526020016100d3565b6101856101a13660046107c6565b6103ca565b600254610102906001600160a01b031681565b6002546001600160a01b031633146101ec5760405162461bcd60e51b81526004016101e390610816565b60405180910390fd5b6040516000906001600160a01b038316908281818181865af19150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090505b5050565b6060610256826001600160a01b031661044b565b92915050565b6002546001600160a01b031633146102865760405162461bcd60e51b81526004016101e390610816565b6000826001600160a01b0316826040516102a09190610859565b6000604051808303816000865af19150503d80600081146102dd576040519150601f19603f3d011682016040523d82523d6000602084013e6102e2565b606091505b505050505050565b6000610256826001600160a01b03166104a6565b6002546001600160a01b031633146103285760405162461bcd60e51b81526004016101e390610816565b600081815260016020526040902054610349906001600160a01b03166104ec565b600090815260016020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146103915760405162461bcd60e51b81526004016101e390610816565b6103a3816001600160a01b03166104ec565b50565b600081815260016020526040902054606090610256906001600160a01b031661044b565b6002546000906001600160a01b031633146103f75760405162461bcd60e51b81526004016101e390610816565b610400826105a3565b60008054815260016020526040812080546001600160a01b0319166001600160a01b03939093169290921790915580549081908061043d83610875565b90915550909150505b919050565b6060813b606881108061045c575080155b156104795760405162461bcd60e51b81526004016101e39061089c565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b6000813b60688110806104b7575080155b156104d45760405162461bcd60e51b81526004016101e39061089c565b6040516020604051016040526020604882863c602081f35b6000816001600160a01b0316604051610510906001600160f81b0319815260010190565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b505090508061023e5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f720060448201526064016101e3565b60008030836040516020016105b99291906108d3565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661062b5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f72000060448201526064016101e3565b50919050565b80356001600160a01b038116811461044657600080fd5b60006020828403121561065a57600080fd5b61066382610631565b9392505050565b60005b8381101561068557818101518382015260200161066d565b50506000910152565b60208152600082518060208401526106ad81604085016020870161066a565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156106f1576106f16106c1565b604051601f8501601f19908116603f01168101908282118183101715610719576107196106c1565b8160405280935085815286868601111561073257600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561075f57600080fd5b61076883610631565b915060208301356001600160401b0381111561078357600080fd5b8301601f8101851361079457600080fd5b6107a3858235602084016106d7565b9150509250929050565b6000602082840312156107bf57600080fd5b5035919050565b6000602082840312156107d857600080fd5b81356001600160401b038111156107ee57600080fd5b8201601f810184136107ff57600080fd5b61080e848235602084016106d7565b949350505050565b6020808252600d908201526c27b7363c903232b83637bcb2b960991b604082015260600190565b6000815161084f81856020860161066a565b9290920192915050565b6000825161086b81846020870161066a565b9190910192915050565b60006001820161089557634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526109786053830160008152600c0190565b61098e818660601b6001600160601b0319169052565b61099b601482018561083d565b9594505050505056fea2646970667358221220068a3ba8c24ccd005bc61147ab118127df10ed009ac9892b93c76f302433ec9664736f6c63430008130033",
191
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c80630d2095fc1461009e5780631de2784f146100b35780633a72c065146100dc5780635784510e146100ef578063589f62a31461011a5780635b3c91e01461012d57806360307b801461014057806378f386b1146101695780639d64af1a1461017c578063c11de25514610193578063efdee94f146101a6575b600080fd5b6100b16100ac366004610648565b6101b9565b005b6100c66100c1366004610648565b610242565b6040516100d3919061068e565b60405180910390f35b6100b16100ea36600461074c565b61025c565b6101026100fd366004610648565b6102ea565b6040516001600160a01b0390911681526020016100d3565b6100b16101283660046107ad565b6102fe565b6100b161013b366004610648565b610367565b61010261014e3660046107ad565b6001602052600090815260409020546001600160a01b031681565b6100c66101773660046107ad565b6103a6565b61018560005481565b6040519081526020016100d3565b6101856101a13660046107c6565b6103ca565b600254610102906001600160a01b031681565b6002546001600160a01b031633146101ec5760405162461bcd60e51b81526004016101e390610816565b60405180910390fd5b6040516000906001600160a01b038316908281818181865af19150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090505b5050565b6060610256826001600160a01b031661044b565b92915050565b6002546001600160a01b031633146102865760405162461bcd60e51b81526004016101e390610816565b6000826001600160a01b0316826040516102a09190610859565b6000604051808303816000865af19150503d80600081146102dd576040519150601f19603f3d011682016040523d82523d6000602084013e6102e2565b606091505b505050505050565b6000610256826001600160a01b03166104a6565b6002546001600160a01b031633146103285760405162461bcd60e51b81526004016101e390610816565b600081815260016020526040902054610349906001600160a01b03166104ec565b600090815260016020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146103915760405162461bcd60e51b81526004016101e390610816565b6103a3816001600160a01b03166104ec565b50565b600081815260016020526040902054606090610256906001600160a01b031661044b565b6002546000906001600160a01b031633146103f75760405162461bcd60e51b81526004016101e390610816565b610400826105a3565b60008054815260016020526040812080546001600160a01b0319166001600160a01b03939093169290921790915580549081908061043d83610875565b90915550909150505b919050565b6060813b606881108061045c575080155b156104795760405162461bcd60e51b81526004016101e39061089c565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b6000813b60688110806104b7575080155b156104d45760405162461bcd60e51b81526004016101e39061089c565b6040516020604051016040526020604882863c602081f35b6000816001600160a01b0316604051610510906001600160f81b0319815260010190565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b505090508061023e5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f720060448201526064016101e3565b60008030836040516020016105b99291906108d3565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821661062b5760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f72000060448201526064016101e3565b50919050565b80356001600160a01b038116811461044657600080fd5b60006020828403121561065a57600080fd5b61066382610631565b9392505050565b60005b8381101561068557818101518382015260200161066d565b50506000910152565b60208152600082518060208401526106ad81604085016020870161066a565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156106f1576106f16106c1565b604051601f8501601f19908116603f01168101908282118183101715610719576107196106c1565b8160405280935085815286868601111561073257600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561075f57600080fd5b61076883610631565b915060208301356001600160401b0381111561078357600080fd5b8301601f8101851361079457600080fd5b6107a3858235602084016106d7565b9150509250929050565b6000602082840312156107bf57600080fd5b5035919050565b6000602082840312156107d857600080fd5b81356001600160401b038111156107ee57600080fd5b8201601f810184136107ff57600080fd5b61080e848235602084016106d7565b949350505050565b6020808252600d908201526c27b7363c903232b83637bcb2b960991b604082015260600190565b6000815161084f81856020860161066a565b9290920192915050565b6000825161086b81846020870161066a565b9190910192915050565b60006001820161089557634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526109786053830160008152600c0190565b61098e818660601b6001600160601b0319169052565b61099b601482018561083d565b9594505050505056fea2646970667358221220068a3ba8c24ccd005bc61147ab118127df10ed009ac9892b93c76f302433ec9664736f6c63430008130033",
192
192
  "linkReferences": {},
193
193
  "deployedLinkReferences": {}
194
194
  }
@@ -0,0 +1,135 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BytecodeV1LibCallsMock",
4
+ "sourceName": "contracts/mock/BytecodeV1LibCallsMock.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_bytecodeStorageReaderDeploymentAddress",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "bytecodeStorageReaderDeploymentAddress",
20
+ "outputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "stateMutability": "view",
28
+ "type": "function"
29
+ },
30
+ {
31
+ "inputs": [
32
+ {
33
+ "internalType": "address",
34
+ "name": "_address",
35
+ "type": "address"
36
+ }
37
+ ],
38
+ "name": "getLibraryVersionForBytecode",
39
+ "outputs": [
40
+ {
41
+ "internalType": "bytes32",
42
+ "name": "",
43
+ "type": "bytes32"
44
+ }
45
+ ],
46
+ "stateMutability": "view",
47
+ "type": "function"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "_address",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "name": "getWriterAddressForBytecode",
58
+ "outputs": [
59
+ {
60
+ "internalType": "address",
61
+ "name": "",
62
+ "type": "address"
63
+ }
64
+ ],
65
+ "stateMutability": "view",
66
+ "type": "function"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "address",
72
+ "name": "_address",
73
+ "type": "address"
74
+ },
75
+ {
76
+ "internalType": "uint256",
77
+ "name": "_offset",
78
+ "type": "uint256"
79
+ }
80
+ ],
81
+ "name": "readBytesFromBytecode",
82
+ "outputs": [
83
+ {
84
+ "internalType": "bytes",
85
+ "name": "data",
86
+ "type": "bytes"
87
+ }
88
+ ],
89
+ "stateMutability": "view",
90
+ "type": "function"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "address",
96
+ "name": "_address",
97
+ "type": "address"
98
+ }
99
+ ],
100
+ "name": "readBytesFromSSTORE2Bytecode",
101
+ "outputs": [
102
+ {
103
+ "internalType": "bytes",
104
+ "name": "data",
105
+ "type": "bytes"
106
+ }
107
+ ],
108
+ "stateMutability": "view",
109
+ "type": "function"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "address",
115
+ "name": "_address",
116
+ "type": "address"
117
+ }
118
+ ],
119
+ "name": "readFromBytecode",
120
+ "outputs": [
121
+ {
122
+ "internalType": "string",
123
+ "name": "data",
124
+ "type": "string"
125
+ }
126
+ ],
127
+ "stateMutability": "view",
128
+ "type": "function"
129
+ }
130
+ ],
131
+ "bytecode": "0x608060405234801561001057600080fd5b506040516105d63803806105d683398101604081905261002f9161005e565b600080546001600160a01b039092166001600160a01b031992831681179091556001805490921617905561008e565b60006020828403121561007057600080fd5b81516001600160a01b038116811461008757600080fd5b9392505050565b6105398061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632475d7091461006757806342e832e01461009057806375662f38146100b057806387630c15146100c3578063cc31a331146100d6578063ffe7892f146100f7575b600080fd5b61007a610075366004610334565b61010a565b60405161008791906103a1565b60405180910390f35b6100a361009e366004610334565b610186565b60405161008791906103b4565b61007a6100be366004610334565b6101f8565b61007a6100d13660046103c8565b610229565b6100e96100e4366004610334565b6102aa565b604051908152602001610087565b6000546100a3906001600160a01b031681565b600154604051632475d70960e01b81526060916001600160a01b031690632475d7099061013b9085906004016103b4565b600060405180830381865afa158015610158573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610180919081019061047d565b92915050565b600154604051630217419760e51b81526000916001600160a01b0316906342e832e0906101b79085906004016103b4565b602060405180830381865afa1580156101d4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018091906104cd565b600154604051630eacc5e760e31b81526060916001600160a01b0316906375662f389061013b9085906004016103b4565b6001546040516387630c1560e01b81526001600160a01b0384811660048301526024820184905260609216906387630c1590604401600060405180830381865afa15801561027b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102a3919081019061047d565b9392505050565b60015460405163cc31a33160e01b81526000916001600160a01b03169063cc31a331906102db9085906004016103b4565b602060405180830381865afa1580156102f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018091906104ea565b6001600160a01b038116811461033157600080fd5b50565b60006020828403121561034657600080fd5b81356102a38161031c565b60005b8381101561036c578181015183820152602001610354565b50506000910152565b6000815180845261038d816020860160208601610351565b601f01601f19169290920160200192915050565b6020815260006102a36020830184610375565b6001600160a01b0391909116815260200190565b600080604083850312156103db57600080fd5b82356103e68161031c565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115610424576104246103f4565b604051601f8501601f19908116603f0116810190828211818310171561044c5761044c6103f4565b8160405280935085815286868601111561046557600080fd5b610473866020830187610351565b5050509392505050565b60006020828403121561048f57600080fd5b81516001600160401b038111156104a557600080fd5b8201601f810184136104b657600080fd5b6104c58482516020840161040a565b949350505050565b6000602082840312156104df57600080fd5b81516102a38161031c565b6000602082840312156104fc57600080fd5b505191905056fea264697066735822122065de93441e8bd45b5def96b535d7bab5fc71a588dc3814307a9cc95a01778cf364736f6c63430008130033",
132
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80632475d7091461006757806342e832e01461009057806375662f38146100b057806387630c15146100c3578063cc31a331146100d6578063ffe7892f146100f7575b600080fd5b61007a610075366004610334565b61010a565b60405161008791906103a1565b60405180910390f35b6100a361009e366004610334565b610186565b60405161008791906103b4565b61007a6100be366004610334565b6101f8565b61007a6100d13660046103c8565b610229565b6100e96100e4366004610334565b6102aa565b604051908152602001610087565b6000546100a3906001600160a01b031681565b600154604051632475d70960e01b81526060916001600160a01b031690632475d7099061013b9085906004016103b4565b600060405180830381865afa158015610158573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610180919081019061047d565b92915050565b600154604051630217419760e51b81526000916001600160a01b0316906342e832e0906101b79085906004016103b4565b602060405180830381865afa1580156101d4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018091906104cd565b600154604051630eacc5e760e31b81526060916001600160a01b0316906375662f389061013b9085906004016103b4565b6001546040516387630c1560e01b81526001600160a01b0384811660048301526024820184905260609216906387630c1590604401600060405180830381865afa15801561027b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102a3919081019061047d565b9392505050565b60015460405163cc31a33160e01b81526000916001600160a01b03169063cc31a331906102db9085906004016103b4565b602060405180830381865afa1580156102f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018091906104ea565b6001600160a01b038116811461033157600080fd5b50565b60006020828403121561034657600080fd5b81356102a38161031c565b60005b8381101561036c578181015183820152602001610354565b50506000910152565b6000815180845261038d816020860160208601610351565b601f01601f19169290920160200192915050565b6020815260006102a36020830184610375565b6001600160a01b0391909116815260200190565b600080604083850312156103db57600080fd5b82356103e68161031c565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115610424576104246103f4565b604051601f8501601f19908116603f0116810190828211818310171561044c5761044c6103f4565b8160405280935085815286868601111561046557600080fd5b610473866020830187610351565b5050509392505050565b60006020828403121561048f57600080fd5b81516001600160401b038111156104a557600080fd5b8201601f810184136104b657600080fd5b6104c58482516020840161040a565b949350505050565b6000602082840312156104df57600080fd5b81516102a38161031c565b6000602082840312156104fc57600080fd5b505191905056fea264697066735822122065de93441e8bd45b5def96b535d7bab5fc71a588dc3814307a9cc95a01778cf364736f6c63430008130033",
133
+ "linkReferences": {},
134
+ "deployedLinkReferences": {}
135
+ }