@superfluid-finance/ethereum-contracts 1.7.2-dev.3cd1f8a.0 → 1.7.2-dev.3e0e33e.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/README.md +2 -2
  2. package/artifacts/contracts/apps/SuperAppBaseFlow.sol/SuperAppBaseFlow.json +13 -13
  3. package/artifacts/contracts/apps/SuperfluidLoaderLibrary.sol/SuperfluidLoaderLibrary.json +2 -2
  4. package/artifacts/contracts/mocks/IDASuperAppTester.sol/IDASuperAppTester.json +2 -2
  5. package/artifacts/contracts/mocks/MockSmartWallet.sol/MockSmartWallet.json +2 -2
  6. package/artifacts/contracts/mocks/SuperAppBaseFlowTester.sol/SuperAppBaseFlowTester.json +15 -15
  7. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock.json +2 -2
  8. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMock.json +2 -2
  9. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel.json +2 -2
  10. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux.json +2 -2
  11. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockNotSelfRegistering.json +2 -2
  12. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx.json +2 -2
  13. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx.json +2 -2
  14. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingDeprecatedRegisterApp.json +2 -2
  15. package/artifacts/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey.json +2 -2
  16. package/artifacts/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.json +2 -2
  17. package/artifacts/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.json +2 -2
  18. package/artifacts/contracts/superfluid/Superfluid.sol/Superfluid.json +2 -2
  19. package/artifacts/contracts/utils/SuperfluidFrameworkDeployer.sol/SuperfluidFrameworkDeployer.json +2 -2
  20. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/CFAv1ForwarderDeployerLibrary.json +2 -2
  21. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/IDAv1ForwarderDeployerLibrary.json +2 -2
  22. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/ProxyDeployerLibrary.json +2 -2
  23. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperTokenDeployerLibrary.json +2 -2
  24. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidCFAv1DeployerLibrary.json +2 -2
  25. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidFrameworkDeploymentSteps.json +2 -2
  26. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidGovDeployerLibrary.json +2 -2
  27. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidHostDeployerLibrary.json +2 -2
  28. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidIDAv1DeployerLibrary.json +2 -2
  29. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidLoaderDeployerLibrary.json +2 -2
  30. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidNFTLogicDeployerLibrary.json +2 -2
  31. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/SuperfluidPeripheryDeployerLibrary.json +2 -2
  32. package/artifacts/contracts/utils/SuperfluidFrameworkDeploymentSteps.sol/TokenDeployerLibrary.json +2 -2
  33. package/build/contracts/AccessControl.json +1 -1
  34. package/build/contracts/AccessControlEnumerable.json +1 -1
  35. package/build/contracts/Address.json +1 -1
  36. package/build/contracts/AgreementBase.json +18 -18
  37. package/build/contracts/AgreementLibrary.json +165 -165
  38. package/build/contracts/BaseRelayRecipient.json +57 -57
  39. package/build/contracts/BatchLiquidator.json +382 -382
  40. package/build/contracts/BatchOperation.json +614 -614
  41. package/build/contracts/CFAv1Forwarder.json +1250 -1250
  42. package/build/contracts/CFAv1ForwarderDeployerLibrary.json +2387 -2387
  43. package/build/contracts/CFAv1Library.json +389 -389
  44. package/build/contracts/CallUtils.json +198 -198
  45. package/build/contracts/ClosingOnUpdateFlowTestApp.json +1525 -1525
  46. package/build/contracts/ConstantFlowAgreementV1.json +1087 -1087
  47. package/build/contracts/ConstantInflowNFT.json +402 -402
  48. package/build/contracts/ConstantOutflowNFT.json +661 -661
  49. package/build/contracts/Context.json +1 -1
  50. package/build/contracts/ContextDefinitions.json +614 -614
  51. package/build/contracts/CustomSuperTokenBase.json +19 -19
  52. package/build/contracts/ERC165.json +1 -1
  53. package/build/contracts/ERC1820Implementer.json +1 -1
  54. package/build/contracts/ERC1820RegistryCompiled.json +22 -22
  55. package/build/contracts/ERC20.json +1 -1
  56. package/build/contracts/ERC20WithTokenInfo.json +23 -23
  57. package/build/contracts/ERC777Helper.json +384 -384
  58. package/build/contracts/ERC777RecipientDrainingGas.json +863 -863
  59. package/build/contracts/ERC777RecipientReverting.json +863 -863
  60. package/build/contracts/EnumerableSet.json +1 -1
  61. package/build/contracts/EventsEmitter.json +43 -43
  62. package/build/contracts/ExclusiveInflowTestApp.json +1525 -1525
  63. package/build/contracts/FixedSizeData.json +200 -200
  64. package/build/contracts/FlowExchangeTestApp.json +1526 -1526
  65. package/build/contracts/FlowNFTBase.json +1280 -1280
  66. package/build/contracts/FlowOperatorDefinitions.json +614 -614
  67. package/build/contracts/ForwarderBase.json +190 -190
  68. package/build/contracts/FullUpgradableSuperTokenProxy.json +116 -116
  69. package/build/contracts/IAccessControl.json +1 -1
  70. package/build/contracts/IAccessControlEnumerable.json +1 -1
  71. package/build/contracts/IConstantFlowAgreementV1.json +677 -677
  72. package/build/contracts/IConstantInflowNFT.json +54 -54
  73. package/build/contracts/IConstantOutflowNFT.json +107 -107
  74. package/build/contracts/IDAv1Forwarder.json +912 -912
  75. package/build/contracts/IDAv1ForwarderDeployerLibrary.json +2387 -2387
  76. package/build/contracts/IDAv1Library.json +430 -430
  77. package/build/contracts/IERC165.json +1 -1
  78. package/build/contracts/IERC1820Implementer.json +1 -1
  79. package/build/contracts/IERC1820Registry.json +1 -1
  80. package/build/contracts/IERC20.json +1 -1
  81. package/build/contracts/IERC20Metadata.json +1 -1
  82. package/build/contracts/IERC20Permit.json +1 -1
  83. package/build/contracts/IERC721.json +1 -1
  84. package/build/contracts/IERC721Metadata.json +1 -1
  85. package/build/contracts/IERC777.json +1 -1
  86. package/build/contracts/IERC777Recipient.json +1 -1
  87. package/build/contracts/IERC777Sender.json +1 -1
  88. package/build/contracts/IFlowNFTBase.json +115 -115
  89. package/build/contracts/IInstantDistributionAgreementV1.json +667 -667
  90. package/build/contracts/IMultiSigWallet.json +31 -31
  91. package/build/contracts/IPoolAdminNFT.json +7 -7
  92. package/build/contracts/IPoolMemberNFT.json +7 -7
  93. package/build/contracts/IPureSuperToken.json +62 -62
  94. package/build/contracts/IPureSuperTokenCustom.json +62 -62
  95. package/build/contracts/IRelayRecipient.json +27 -27
  96. package/build/contracts/IResolver.json +38 -38
  97. package/build/contracts/ISETH.json +67 -67
  98. package/build/contracts/ISETHCustom.json +67 -67
  99. package/build/contracts/ISuperAgreement.json +50 -50
  100. package/build/contracts/ISuperApp.json +191 -191
  101. package/build/contracts/ISuperToken.json +695 -695
  102. package/build/contracts/ISuperTokenFactory.json +225 -225
  103. package/build/contracts/ISuperfluid.json +904 -904
  104. package/build/contracts/ISuperfluidGovernance.json +251 -251
  105. package/build/contracts/ISuperfluidToken.json +407 -407
  106. package/build/contracts/ITOGAv1.json +1346 -1346
  107. package/build/contracts/ITOGAv2.json +1346 -1346
  108. package/build/contracts/ITOGAv3.json +1346 -1346
  109. package/build/contracts/Initializable.json +1 -1
  110. package/build/contracts/InstantDistributionAgreementV1.json +594 -594
  111. package/build/contracts/Math.json +1 -1
  112. package/build/contracts/NonClosableOutflowTestApp.json +1526 -1526
  113. package/build/contracts/Ownable.json +1 -1
  114. package/build/contracts/Proxy.json +1 -1
  115. package/build/contracts/ProxyDeployerLibrary.json +2385 -2385
  116. package/build/contracts/PureSuperToken.json +106 -106
  117. package/build/contracts/Resolver.json +98 -98
  118. package/build/contracts/SETHProxy.json +224 -224
  119. package/build/contracts/SafeCast.json +1 -1
  120. package/build/contracts/SafeERC20.json +1 -1
  121. package/build/contracts/SafeGasLibrary.json +51 -51
  122. package/build/contracts/SafeMath.json +1 -1
  123. package/build/contracts/SelfDeletingFlowTestApp.json +1525 -1525
  124. package/build/contracts/SlotsBitmapLibrary.json +457 -457
  125. package/build/contracts/StreamRedirector.json +704 -704
  126. package/build/contracts/Strings.json +1 -1
  127. package/build/contracts/SuperAppBase.json +42 -42
  128. package/build/contracts/SuperAppBaseFlow.json +1580 -1537
  129. package/build/contracts/SuperAppDefinitions.json +614 -614
  130. package/build/contracts/SuperToken.json +2714 -2714
  131. package/build/contracts/SuperTokenDeployerLibrary.json +2386 -2386
  132. package/build/contracts/SuperTokenFactory.json +1347 -1347
  133. package/build/contracts/SuperTokenFactoryBase.json +1329 -1329
  134. package/build/contracts/SuperTokenV1Library.json +5632 -5632
  135. package/build/contracts/SuperUpgrader.json +439 -439
  136. package/build/contracts/Superfluid.json +7999 -7996
  137. package/build/contracts/SuperfluidCFAv1DeployerLibrary.json +2386 -2386
  138. package/build/contracts/SuperfluidFrameworkDeployer.json +1263 -1263
  139. package/build/contracts/SuperfluidFrameworkDeploymentSteps.json +2385 -2385
  140. package/build/contracts/SuperfluidGovDeployerLibrary.json +2386 -2386
  141. package/build/contracts/SuperfluidGovernanceBase.json +2449 -2449
  142. package/build/contracts/SuperfluidGovernanceConfigs.json +614 -614
  143. package/build/contracts/SuperfluidGovernanceII.json +155 -155
  144. package/build/contracts/SuperfluidGovernanceIIProxy.json +135 -135
  145. package/build/contracts/SuperfluidHostDeployerLibrary.json +2385 -2385
  146. package/build/contracts/SuperfluidIDAv1DeployerLibrary.json +2386 -2386
  147. package/build/contracts/SuperfluidLoader.json +207 -207
  148. package/build/contracts/SuperfluidLoaderDeployerLibrary.json +2387 -2387
  149. package/build/contracts/SuperfluidLoaderLibrary.json +481 -480
  150. package/build/contracts/SuperfluidNFTLogicDeployerLibrary.json +2390 -2390
  151. package/build/contracts/SuperfluidPeripheryDeployerLibrary.json +2388 -2388
  152. package/build/contracts/SuperfluidToken.json +1423 -1423
  153. package/build/contracts/TOGA.json +1360 -1360
  154. package/build/contracts/TestGovernance.json +250 -250
  155. package/build/contracts/TestResolver.json +47 -47
  156. package/build/contracts/TestToken.json +102 -102
  157. package/build/contracts/TokenDeployerLibrary.json +2387 -2387
  158. package/build/contracts/TokenInfo.json +32 -32
  159. package/build/contracts/UUPSProxiable.json +139 -139
  160. package/build/contracts/UUPSProxy.json +81 -81
  161. package/build/contracts/UUPSUtils.json +37 -37
  162. package/build/contracts-sizes.txt +15 -15
  163. package/build/typechain/contracts/apps/SuperAppBaseFlow.d.ts +9 -9
  164. package/build/typechain/contracts/apps/SuperAppBaseFlow.d.ts.map +1 -1
  165. package/build/typechain/contracts/mocks/SuperAppBaseFlowTester.d.ts +9 -9
  166. package/build/typechain/contracts/mocks/SuperAppBaseFlowTester.d.ts.map +1 -1
  167. package/build/typechain/factories/contracts/apps/SuperAppBaseFlow__factory.d.ts +10 -10
  168. package/build/typechain/factories/contracts/apps/SuperAppBaseFlow__factory.js +13 -13
  169. package/build/typechain/factories/contracts/apps/SuperAppBaseFlow__factory.js.map +1 -1
  170. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  171. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  172. package/build/typechain/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  173. package/build/typechain/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  174. package/build/typechain/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  175. package/build/typechain/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  176. package/build/typechain/factories/contracts/mocks/SuperAppBaseFlowTester__factory.d.ts +11 -11
  177. package/build/typechain/factories/contracts/mocks/SuperAppBaseFlowTester__factory.d.ts.map +1 -1
  178. package/build/typechain/factories/contracts/mocks/SuperAppBaseFlowTester__factory.js +14 -14
  179. package/build/typechain/factories/contracts/mocks/SuperAppBaseFlowTester__factory.js.map +1 -1
  180. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  181. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  182. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  183. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  184. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  185. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  186. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  187. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  188. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  189. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  190. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingDeprecatedRegisterApp__factory.d.ts +1 -1
  191. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingDeprecatedRegisterApp__factory.js +1 -1
  192. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  193. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  194. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  195. package/build/typechain/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  196. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +1 -1
  197. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +1 -1
  198. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  199. package/build/typechain/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  200. package/build/typechain/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  201. package/build/typechain/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  202. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +1 -1
  203. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +1 -1
  204. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -1
  205. package/build/typechain/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +1 -1
  206. package/contracts/apps/SuperAppBaseFlow.sol +11 -10
  207. package/contracts/apps/SuperfluidLoaderLibrary.sol +1 -1
  208. package/contracts/superfluid/Superfluid.sol +1 -0
  209. package/package.json +4 -3
package/README.md CHANGED
@@ -35,7 +35,7 @@ If you're building a smart contract that uses Superfluid protocol, or even your
35
35
  ### Installation
36
36
 
37
37
  Prerequisites:
38
- - [node.js v12+](https://nodejs.org/en/download)
38
+ - [node.js v16+](https://nodejs.org/en/download)
39
39
  - [yarn](https://classic.yarnpkg.com/en/docs/install)
40
40
  - [forge](https://book.getfoundry.sh/getting-started/installation)
41
41
 
@@ -250,7 +250,7 @@ If you want contribute to Superfluid protocol contracts instead of just interfac
250
250
 
251
251
  ### Setup Development Environment
252
252
 
253
- Prerequisites: You need node.js v12+ and yarn installed.
253
+ Prerequisites: You need node.js v16+ and yarn installed.
254
254
 
255
255
  First, check out this repository and cd into it.
256
256
  ```sh
@@ -31,6 +31,19 @@
31
31
  "stateMutability": "view",
32
32
  "type": "function"
33
33
  },
34
+ {
35
+ "inputs": [],
36
+ "name": "HOST",
37
+ "outputs": [
38
+ {
39
+ "internalType": "contract ISuperfluid",
40
+ "name": "",
41
+ "type": "address"
42
+ }
43
+ ],
44
+ "stateMutability": "view",
45
+ "type": "function"
46
+ },
34
47
  {
35
48
  "inputs": [
36
49
  {
@@ -280,19 +293,6 @@
280
293
  "stateMutability": "view",
281
294
  "type": "function"
282
295
  },
283
- {
284
- "inputs": [],
285
- "name": "host",
286
- "outputs": [
287
- {
288
- "internalType": "contract ISuperfluid",
289
- "name": "",
290
- "type": "address"
291
- }
292
- ],
293
- "stateMutability": "view",
294
- "type": "function"
295
- },
296
296
  {
297
297
  "inputs": [
298
298
  {
@@ -22,8 +22,8 @@
22
22
  "type": "function"
23
23
  }
24
24
  ],
25
- "bytecode": "0x6102cd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806320bc44251461003a575b600080fd5b61004261005e565b6040516001600160a01b03909116815260200160405180910390f35b6000600146036100815750734e583d9390082b65bef884b629dfa426114ced6d90565b600a46036100a2575073567c4b141ed61923967ca25ef4906c8781069a1090565b603846036100c3575073d1e2cfb6441680002eb7a44223160ab9b67d7e6e90565b606446036100e45750732dfe937cd98ab92e59cf3139138f18c823a4efe790565b608946036101055750733e14dc1b13c488a8d5d310918780c983bd5982e790565b61a4b14603610127575073cf8acb4ef033eff16e8080aed4c7d5b9285d219290565b61a4ec4603610149575073a4ff07cf81c02cfd356184879d953970ca95758590565b61a86a460361016b57507360377c7016e4cdb03c87ef474896c11cb560752c90565b6005460361018c57507322ff293e14f1ec3a09b137e9e06084afd63addf990565b62066eed46036101af575073e40983c2476032a0915600b9472b3141aa5b5ba990565b6101a446036101d1575073e40983c2476032a0915600b9472b3141aa5b5ba990565b61a86946036101f357507385fe79b998509b77bf10a8bd4001d58475d2938690565b620138814603610216575073eb796bdb90ffa0f28255275e16936d25d341860390565b62aa36a74603610239575073109412e3c84f0539b43d39db691b08c90f58dc7c90565b62014a33460361025c575073507c3a7c6ccc253884a2e3a3ee2a211cc7e796a690565b6105a2460361027e575073e64f81d5ddda1c7172e5c6d964e8ef1bd82d870490565b604051633732a25760e11b815260040160405180910390fdfea2646970667358221220ec07713423b1251e198cd522f9504aba3780cd63d19aecb2633cf9edff7fbb6964736f6c63430008130033",
26
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806320bc44251461003a575b600080fd5b61004261005e565b6040516001600160a01b03909116815260200160405180910390f35b6000600146036100815750734e583d9390082b65bef884b629dfa426114ced6d90565b600a46036100a2575073567c4b141ed61923967ca25ef4906c8781069a1090565b603846036100c3575073d1e2cfb6441680002eb7a44223160ab9b67d7e6e90565b606446036100e45750732dfe937cd98ab92e59cf3139138f18c823a4efe790565b608946036101055750733e14dc1b13c488a8d5d310918780c983bd5982e790565b61a4b14603610127575073cf8acb4ef033eff16e8080aed4c7d5b9285d219290565b61a4ec4603610149575073a4ff07cf81c02cfd356184879d953970ca95758590565b61a86a460361016b57507360377c7016e4cdb03c87ef474896c11cb560752c90565b6005460361018c57507322ff293e14f1ec3a09b137e9e06084afd63addf990565b62066eed46036101af575073e40983c2476032a0915600b9472b3141aa5b5ba990565b6101a446036101d1575073e40983c2476032a0915600b9472b3141aa5b5ba990565b61a86946036101f357507385fe79b998509b77bf10a8bd4001d58475d2938690565b620138814603610216575073eb796bdb90ffa0f28255275e16936d25d341860390565b62aa36a74603610239575073109412e3c84f0539b43d39db691b08c90f58dc7c90565b62014a33460361025c575073507c3a7c6ccc253884a2e3a3ee2a211cc7e796a690565b6105a2460361027e575073e64f81d5ddda1c7172e5c6d964e8ef1bd82d870490565b604051633732a25760e11b815260040160405180910390fdfea2646970667358221220ec07713423b1251e198cd522f9504aba3780cd63d19aecb2633cf9edff7fbb6964736f6c63430008130033",
25
+ "bytecode": "0x6102cd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806320bc44251461003a575b600080fd5b61004261005e565b6040516001600160a01b03909116815260200160405180910390f35b6000600146036100815750734e583d9390082b65bef884b629dfa426114ced6d90565b600a46036100a2575073567c4b141ed61923967ca25ef4906c8781069a1090565b603846036100c3575073d1e2cfb6441680002eb7a44223160ab9b67d7e6e90565b606446036100e45750732dfe937cd98ab92e59cf3139138f18c823a4efe790565b608946036101055750733e14dc1b13c488a8d5d310918780c983bd5982e790565b61a4b14603610127575073cf8acb4ef033eff16e8080aed4c7d5b9285d219290565b61a4ec4603610149575073a4ff07cf81c02cfd356184879d953970ca95758590565b61a86a460361016b57507360377c7016e4cdb03c87ef474896c11cb560752c90565b6005460361018c57507322ff293e14f1ec3a09b137e9e06084afd63addf990565b62066eed46036101af575073e40983c2476032a0915600b9472b3141aa5b5ba990565b6101a446036101d1575073e40983c2476032a0915600b9472b3141aa5b5ba990565b61a86946036101f357507385fe79b998509b77bf10a8bd4001d58475d2938690565b620138814603610216575073eb796bdb90ffa0f28255275e16936d25d341860390565b62aa36a74603610239575073109412e3c84f0539b43d39db691b08c90f58dc7c90565b62014a33460361025c575073507c3a7c6ccc253884a2e3a3ee2a211cc7e796a690565b6105a2460361027e575073e64f81d5ddda1c7172e5c6d964e8ef1bd82d870490565b604051633732a25760e11b815260040160405180910390fdfea2646970667358221220220342a17ecb1fd2ad3c343caf31cc37729ff27c35cba7e3a8ce3a9af333e2c064736f6c63430008130033",
26
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806320bc44251461003a575b600080fd5b61004261005e565b6040516001600160a01b03909116815260200160405180910390f35b6000600146036100815750734e583d9390082b65bef884b629dfa426114ced6d90565b600a46036100a2575073567c4b141ed61923967ca25ef4906c8781069a1090565b603846036100c3575073d1e2cfb6441680002eb7a44223160ab9b67d7e6e90565b606446036100e45750732dfe937cd98ab92e59cf3139138f18c823a4efe790565b608946036101055750733e14dc1b13c488a8d5d310918780c983bd5982e790565b61a4b14603610127575073cf8acb4ef033eff16e8080aed4c7d5b9285d219290565b61a4ec4603610149575073a4ff07cf81c02cfd356184879d953970ca95758590565b61a86a460361016b57507360377c7016e4cdb03c87ef474896c11cb560752c90565b6005460361018c57507322ff293e14f1ec3a09b137e9e06084afd63addf990565b62066eed46036101af575073e40983c2476032a0915600b9472b3141aa5b5ba990565b6101a446036101d1575073e40983c2476032a0915600b9472b3141aa5b5ba990565b61a86946036101f357507385fe79b998509b77bf10a8bd4001d58475d2938690565b620138814603610216575073eb796bdb90ffa0f28255275e16936d25d341860390565b62aa36a74603610239575073109412e3c84f0539b43d39db691b08c90f58dc7c90565b62014a33460361025c575073507c3a7c6ccc253884a2e3a3ee2a211cc7e796a690565b6105a2460361027e575073e64f81d5ddda1c7172e5c6d964e8ef1bd82d870490565b604051633732a25760e11b815260040160405180910390fdfea2646970667358221220220342a17ecb1fd2ad3c343caf31cc37729ff27c35cba7e3a8ce3a9af333e2c064736f6c63430008130033",
27
27
  "linkReferences": {},
28
28
  "deployedLinkReferences": {}
29
29
  }
@@ -396,8 +396,8 @@
396
396
  "type": "function"
397
397
  }
398
398
  ],
399
- "bytecode": "0x60806040526002805460ff60c01b191690553480156200001e57600080fd5b5060405162001b5938038062001b5983398101604081905262000041916200020e565b600080546001600160a01b0319166001600160a01b03871690811782556040805163bd1c448b60e01b815260048101889052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b158015620000a857600080fd5b505af1158015620000bd573d6000803e3d6000fd5b5050600180546001600160a01b0319166001600160a01b03878116918217909255600280548784166001600160c01b031990911617600160a01b63ffffffff888116820292909217928390556000805460408051928352602083019052861697506339255d5b96509394859463d787840a9462000148949281169390049091169060448101620002f4565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526200019f93925090602481016200032f565b6000604051808303816000875af1158015620001bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001e9919081019062000373565b5050505050506200042b565b6001600160a01b03811681146200020b57600080fd5b50565b600080600080600060a086880312156200022757600080fd5b85516200023481620001f5565b6020870151604088015191965094506200024e81620001f5565b60608701519093506200026181620001f5565b608087015190925063ffffffff811681146200027c57600080fd5b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002bd578181015183820152602001620002a3565b50506000910152565b60008151808452620002e0816020860160208601620002a0565b601f01601f19169290920160200192915050565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906200032690830184620002c6565b95945050505050565b6001600160a01b03841681526060602082018190526000906200035590830185620002c6565b8281036040840152620003698185620002c6565b9695505050505050565b6000602082840312156200038657600080fd5b81516001600160401b03808211156200039e57600080fd5b818401915084601f830112620003b357600080fd5b815181811115620003c857620003c86200028a565b604051601f8201601f19908116603f01168101908382118183101715620003f357620003f36200028a565b816040528281528760208487010111156200040d57600080fd5b62000420836020830160208801620002a0565b979650505050505050565b61171e806200043b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353c11f991161006657806353c11f99146101015780635f9e7d7714610114578063884d1f4014610127578063d86ed3e51461013a578063fbd6c5311461014d57600080fd5b8063230dbd291461009857806330d9c915146100c157806334cdedda146100d457806334e5a692146100ee575b600080fd5b6100ab6100a6366004610f93565b610160565b6040516100b891906110ae565b60405180910390f35b6100ab6100cf3660046110c8565b610317565b6100ec6002805460ff60c01b1916600160c01b179055565b005b6100ec6100fc36600461117c565b6104d9565b6100ab61010f366004610f93565b6105ce565b6100ab6101223660046110c8565b610732565b6100ab6101353660046110c8565b61085f565b6100ab610148366004610f93565b610973565b6100ec61015b366004611199565b610a87565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061018c90859085906004016111d2565b602060405180830381865afa1580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190611216565b6101f25760405162461bcd60e51b81526004016101e990611231565b60405180910390fd5b6002548c908c906001600160a01b038084169116146102235760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146102505760405162461bcd60e51b81526004016101e9906112a4565b61027d87877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6000610d25565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750505050505050509998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061034390859085906004016111d2565b602060405180830381865afa158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190611216565b6103a05760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146103d15760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146103fe5760405162461bcd60e51b81526004016101e9906112a4565b61042b87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688c8c610b7f565b600254600160c01b900460ff16156104ba5760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018d905291169063cd7245c59060440160a060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906112e4565b50505050505b50506040805160008152602081019091529a9950505050505050505050565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263b96731c29261052e92821691600160a01b900463ffffffff169089906044810161135e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261058393925090602481016113a7565b6000604051808303816000875af11580156105a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105ca9190810190611485565b5050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906105fa90859085906004016111d2565b602060405180830381865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190611216565b6106575760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b038084169116146106885760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146106b55760405162461bcd60e51b81526004016101e9906112a4565b6106e287877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6001610d25565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061075e90859085906004016111d2565b602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f9190611216565b6107bb5760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146107ec5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146108195760405162461bcd60e51b81526004016101e9906112a4565b61084687877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088c8c610b7f565b61084f8a610e6c565b9c9b505050505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061088b90859085906004016111d2565b602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611216565b6108e85760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146109195760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146109465760405162461bcd60e51b81526004016101e9906112a4565b61084687877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108c8c610b7f565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061099f90859085906004016111d2565b602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611216565b6109fc5760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b03808416911614610a2d5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b03828116911614610a5a5760405162461bcd60e51b81526004016101e9906112a4565b61027d87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688e8e610b7f565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263232d2b5892610ade92821691600160a01b900463ffffffff16908a908a90604481016114c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3393925090602481016113a7565b6000604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a9190810190611485565b505050565b604051631fb6491d60e11b81526000903390633f6c923a90610ba790899089906004016111d2565b600060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bec919081019061153d565b905060008060608360a00151806020019051810190610c0b9190611644565b91945092509050868314610c565760405162461bcd60e51b815260206004820152601260248201527177726f6e672063616c6c6261636b5479706560701b60448201526064016101e9565b60808401516001600160e01b0319838116911614610cb65760405162461bcd60e51b815260206004820152601760248201527f77726f6e672061677265656d656e7453656c6563746f7200000000000000000060448201526064016101e9565b8585604051610cc692919061169b565b6040518091039020818051906020012014610d1a5760405162461bcd60e51b815260206004820152601460248201527377726f6e67206141677265656d656e744461746160601b60448201526064016101e9565b505050505050505050565b60008060008060008088511115610d985787806020019051810190610d4a91906112e4565b604051949950929750909550935091507f2454540e0875d1db1518bd2e89c610a09e41eb24b53620d5cf7f43cc5112d53590610d8f90879087908790879087906116ab565b60405180910390a15b85610e625760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018a905291169063cd7245c59060440160a060405180830381865afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1491906112e4565b604051949950929750909550935091507fca5ab0cc93ce90dc74e03f000eb2f1bf6fe2af97ef814ed740d1eafc597da90490610e5990879087908790879087906116ab565b60405180910390a15b5050505050505050565b60015460025460405163cd7245c560e01b81526001600160a01b03918216600482015260248101849052606092600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef191906112e4565b60405194995092975090955093509150610f1790869086908690869086906020016116ab565b60405160208183030381529060405295505050505050919050565b6001600160a01b0381168114610f4757600080fd5b50565b60008083601f840112610f5c57600080fd5b50813567ffffffffffffffff811115610f7457600080fd5b602083019150836020828501011115610f8c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610fb157600080fd5b8935610fbc81610f32565b985060208a0135610fcc81610f32565b975060408a0135965060608a013567ffffffffffffffff80821115610ff057600080fd5b610ffc8d838e01610f4a565b909850965060808c013591508082111561101557600080fd5b6110218d838e01610f4a565b909650945060a08c013591508082111561103a57600080fd5b506110478c828d01610f4a565b915080935050809150509295985092959850929598565b60005b83811015611079578181015183820152602001611061565b50506000910152565b6000815180845261109a81602086016020860161105e565b601f01601f19169290920160200192915050565b6020815260006110c16020830184611082565b9392505050565b600080600080600080600060a0888a0312156110e357600080fd5b87356110ee81610f32565b965060208801356110fe81610f32565b955060408801359450606088013567ffffffffffffffff8082111561112257600080fd5b61112e8b838c01610f4a565b909650945060808a013591508082111561114757600080fd5b506111548a828b01610f4a565b989b979a50959850939692959293505050565b6001600160801b0381168114610f4757600080fd5b60006020828403121561118e57600080fd5b81356110c181611167565b600080604083850312156111ac57600080fd5b82356111b781610f32565b915060208301356111c781611167565b809150509250929050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b8051801515811461121157600080fd5b919050565b60006020828403121561122857600080fd5b6110c182611201565b60208082526027908201527f49444153757065724170705465737465723a20637478206e6f742076616c6964604082015266206265666f726560c81b606082015260800190565b6020808252601290820152713737ba1030b1b1b2b83a32b2103a37b5b2b760711b604082015260600190565b6020808252600790820152666e6f742069646160c81b604082015260600190565b805161121181610f32565b805163ffffffff8116811461121157600080fd5b600080600080600060a086880312156112fc57600080fd5b855161130781610f32565b9450611315602087016112d0565b935061132360408701611201565b9250606086015161133381611167565b80925050608086015190509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061139d90830184611082565b9695505050505050565b6001600160a01b03841681526060602082018190526000906113cb90830185611082565b828103604084015261139d8185611082565b604051610160810167ffffffffffffffff8111828210171561140157611401611348565b60405290565b600082601f83011261141857600080fd5b815167ffffffffffffffff8082111561143357611433611348565b604051601f8301601f19908116603f0116810190828211818310171561145b5761145b611348565b8160405283815286602085880101111561147457600080fd5b61139d84602083016020890161105e565b60006020828403121561149757600080fd5b815167ffffffffffffffff8111156114ae57600080fd5b6114ba84828501611407565b949350505050565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061150990830184611082565b979650505050505050565b805160ff8116811461121157600080fd5b80516001600160e01b03198116811461121157600080fd5b60006020828403121561154f57600080fd5b815167ffffffffffffffff8082111561156757600080fd5b90830190610160828603121561157c57600080fd5b6115846113dd565b61158d83611514565b815261159b60208401611514565b6020820152604083015160408201526115b6606084016112c5565b60608201526115c760808401611525565b608082015260a0830151828111156115de57600080fd5b6115ea87828601611407565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116218284016112c5565b8282015261014091506116358284016112c5565b91810191909152949350505050565b60008060006060848603121561165957600080fd5b8351925061166960208501611525565b9150604084015167ffffffffffffffff81111561168557600080fd5b61169186828701611407565b9150509250925092565b8183823760009101908152919050565b6001600160a01b0395909516855263ffffffff93909316602085015290151560408401526001600160801b03166060830152608082015260a0019056fea2646970667358221220dadbe57338e7521986f0a09ca18ac92b3b4b382b32d2972692cefc3a5ef4680b64736f6c63430008130033",
400
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806353c11f991161006657806353c11f99146101015780635f9e7d7714610114578063884d1f4014610127578063d86ed3e51461013a578063fbd6c5311461014d57600080fd5b8063230dbd291461009857806330d9c915146100c157806334cdedda146100d457806334e5a692146100ee575b600080fd5b6100ab6100a6366004610f93565b610160565b6040516100b891906110ae565b60405180910390f35b6100ab6100cf3660046110c8565b610317565b6100ec6002805460ff60c01b1916600160c01b179055565b005b6100ec6100fc36600461117c565b6104d9565b6100ab61010f366004610f93565b6105ce565b6100ab6101223660046110c8565b610732565b6100ab6101353660046110c8565b61085f565b6100ab610148366004610f93565b610973565b6100ec61015b366004611199565b610a87565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061018c90859085906004016111d2565b602060405180830381865afa1580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190611216565b6101f25760405162461bcd60e51b81526004016101e990611231565b60405180910390fd5b6002548c908c906001600160a01b038084169116146102235760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146102505760405162461bcd60e51b81526004016101e9906112a4565b61027d87877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6000610d25565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750505050505050509998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061034390859085906004016111d2565b602060405180830381865afa158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190611216565b6103a05760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146103d15760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146103fe5760405162461bcd60e51b81526004016101e9906112a4565b61042b87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688c8c610b7f565b600254600160c01b900460ff16156104ba5760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018d905291169063cd7245c59060440160a060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906112e4565b50505050505b50506040805160008152602081019091529a9950505050505050505050565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263b96731c29261052e92821691600160a01b900463ffffffff169089906044810161135e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261058393925090602481016113a7565b6000604051808303816000875af11580156105a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105ca9190810190611485565b5050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906105fa90859085906004016111d2565b602060405180830381865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190611216565b6106575760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b038084169116146106885760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146106b55760405162461bcd60e51b81526004016101e9906112a4565b6106e287877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6001610d25565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061075e90859085906004016111d2565b602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f9190611216565b6107bb5760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146107ec5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146108195760405162461bcd60e51b81526004016101e9906112a4565b61084687877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088c8c610b7f565b61084f8a610e6c565b9c9b505050505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061088b90859085906004016111d2565b602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611216565b6108e85760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146109195760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146109465760405162461bcd60e51b81526004016101e9906112a4565b61084687877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108c8c610b7f565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061099f90859085906004016111d2565b602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611216565b6109fc5760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b03808416911614610a2d5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b03828116911614610a5a5760405162461bcd60e51b81526004016101e9906112a4565b61027d87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688e8e610b7f565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263232d2b5892610ade92821691600160a01b900463ffffffff16908a908a90604481016114c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3393925090602481016113a7565b6000604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a9190810190611485565b505050565b604051631fb6491d60e11b81526000903390633f6c923a90610ba790899089906004016111d2565b600060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bec919081019061153d565b905060008060608360a00151806020019051810190610c0b9190611644565b91945092509050868314610c565760405162461bcd60e51b815260206004820152601260248201527177726f6e672063616c6c6261636b5479706560701b60448201526064016101e9565b60808401516001600160e01b0319838116911614610cb65760405162461bcd60e51b815260206004820152601760248201527f77726f6e672061677265656d656e7453656c6563746f7200000000000000000060448201526064016101e9565b8585604051610cc692919061169b565b6040518091039020818051906020012014610d1a5760405162461bcd60e51b815260206004820152601460248201527377726f6e67206141677265656d656e744461746160601b60448201526064016101e9565b505050505050505050565b60008060008060008088511115610d985787806020019051810190610d4a91906112e4565b604051949950929750909550935091507f2454540e0875d1db1518bd2e89c610a09e41eb24b53620d5cf7f43cc5112d53590610d8f90879087908790879087906116ab565b60405180910390a15b85610e625760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018a905291169063cd7245c59060440160a060405180830381865afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1491906112e4565b604051949950929750909550935091507fca5ab0cc93ce90dc74e03f000eb2f1bf6fe2af97ef814ed740d1eafc597da90490610e5990879087908790879087906116ab565b60405180910390a15b5050505050505050565b60015460025460405163cd7245c560e01b81526001600160a01b03918216600482015260248101849052606092600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef191906112e4565b60405194995092975090955093509150610f1790869086908690869086906020016116ab565b60405160208183030381529060405295505050505050919050565b6001600160a01b0381168114610f4757600080fd5b50565b60008083601f840112610f5c57600080fd5b50813567ffffffffffffffff811115610f7457600080fd5b602083019150836020828501011115610f8c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610fb157600080fd5b8935610fbc81610f32565b985060208a0135610fcc81610f32565b975060408a0135965060608a013567ffffffffffffffff80821115610ff057600080fd5b610ffc8d838e01610f4a565b909850965060808c013591508082111561101557600080fd5b6110218d838e01610f4a565b909650945060a08c013591508082111561103a57600080fd5b506110478c828d01610f4a565b915080935050809150509295985092959850929598565b60005b83811015611079578181015183820152602001611061565b50506000910152565b6000815180845261109a81602086016020860161105e565b601f01601f19169290920160200192915050565b6020815260006110c16020830184611082565b9392505050565b600080600080600080600060a0888a0312156110e357600080fd5b87356110ee81610f32565b965060208801356110fe81610f32565b955060408801359450606088013567ffffffffffffffff8082111561112257600080fd5b61112e8b838c01610f4a565b909650945060808a013591508082111561114757600080fd5b506111548a828b01610f4a565b989b979a50959850939692959293505050565b6001600160801b0381168114610f4757600080fd5b60006020828403121561118e57600080fd5b81356110c181611167565b600080604083850312156111ac57600080fd5b82356111b781610f32565b915060208301356111c781611167565b809150509250929050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b8051801515811461121157600080fd5b919050565b60006020828403121561122857600080fd5b6110c182611201565b60208082526027908201527f49444153757065724170705465737465723a20637478206e6f742076616c6964604082015266206265666f726560c81b606082015260800190565b6020808252601290820152713737ba1030b1b1b2b83a32b2103a37b5b2b760711b604082015260600190565b6020808252600790820152666e6f742069646160c81b604082015260600190565b805161121181610f32565b805163ffffffff8116811461121157600080fd5b600080600080600060a086880312156112fc57600080fd5b855161130781610f32565b9450611315602087016112d0565b935061132360408701611201565b9250606086015161133381611167565b80925050608086015190509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061139d90830184611082565b9695505050505050565b6001600160a01b03841681526060602082018190526000906113cb90830185611082565b828103604084015261139d8185611082565b604051610160810167ffffffffffffffff8111828210171561140157611401611348565b60405290565b600082601f83011261141857600080fd5b815167ffffffffffffffff8082111561143357611433611348565b604051601f8301601f19908116603f0116810190828211818310171561145b5761145b611348565b8160405283815286602085880101111561147457600080fd5b61139d84602083016020890161105e565b60006020828403121561149757600080fd5b815167ffffffffffffffff8111156114ae57600080fd5b6114ba84828501611407565b949350505050565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061150990830184611082565b979650505050505050565b805160ff8116811461121157600080fd5b80516001600160e01b03198116811461121157600080fd5b60006020828403121561154f57600080fd5b815167ffffffffffffffff8082111561156757600080fd5b90830190610160828603121561157c57600080fd5b6115846113dd565b61158d83611514565b815261159b60208401611514565b6020820152604083015160408201526115b6606084016112c5565b60608201526115c760808401611525565b608082015260a0830151828111156115de57600080fd5b6115ea87828601611407565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116218284016112c5565b8282015261014091506116358284016112c5565b91810191909152949350505050565b60008060006060848603121561165957600080fd5b8351925061166960208501611525565b9150604084015167ffffffffffffffff81111561168557600080fd5b61169186828701611407565b9150509250925092565b8183823760009101908152919050565b6001600160a01b0395909516855263ffffffff93909316602085015290151560408401526001600160801b03166060830152608082015260a0019056fea2646970667358221220dadbe57338e7521986f0a09ca18ac92b3b4b382b32d2972692cefc3a5ef4680b64736f6c63430008130033",
399
+ "bytecode": "0x60806040526002805460ff60c01b191690553480156200001e57600080fd5b5060405162001b5938038062001b5983398101604081905262000041916200020e565b600080546001600160a01b0319166001600160a01b03871690811782556040805163bd1c448b60e01b815260048101889052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b158015620000a857600080fd5b505af1158015620000bd573d6000803e3d6000fd5b5050600180546001600160a01b0319166001600160a01b03878116918217909255600280548784166001600160c01b031990911617600160a01b63ffffffff888116820292909217928390556000805460408051928352602083019052861697506339255d5b96509394859463d787840a9462000148949281169390049091169060448101620002f4565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526200019f93925090602481016200032f565b6000604051808303816000875af1158015620001bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001e9919081019062000373565b5050505050506200042b565b6001600160a01b03811681146200020b57600080fd5b50565b600080600080600060a086880312156200022757600080fd5b85516200023481620001f5565b6020870151604088015191965094506200024e81620001f5565b60608701519093506200026181620001f5565b608087015190925063ffffffff811681146200027c57600080fd5b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002bd578181015183820152602001620002a3565b50506000910152565b60008151808452620002e0816020860160208601620002a0565b601f01601f19169290920160200192915050565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906200032690830184620002c6565b95945050505050565b6001600160a01b03841681526060602082018190526000906200035590830185620002c6565b8281036040840152620003698185620002c6565b9695505050505050565b6000602082840312156200038657600080fd5b81516001600160401b03808211156200039e57600080fd5b818401915084601f830112620003b357600080fd5b815181811115620003c857620003c86200028a565b604051601f8201601f19908116603f01168101908382118183101715620003f357620003f36200028a565b816040528281528760208487010111156200040d57600080fd5b62000420836020830160208801620002a0565b979650505050505050565b61171e806200043b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353c11f991161006657806353c11f99146101015780635f9e7d7714610114578063884d1f4014610127578063d86ed3e51461013a578063fbd6c5311461014d57600080fd5b8063230dbd291461009857806330d9c915146100c157806334cdedda146100d457806334e5a692146100ee575b600080fd5b6100ab6100a6366004610f93565b610160565b6040516100b891906110ae565b60405180910390f35b6100ab6100cf3660046110c8565b610317565b6100ec6002805460ff60c01b1916600160c01b179055565b005b6100ec6100fc36600461117c565b6104d9565b6100ab61010f366004610f93565b6105ce565b6100ab6101223660046110c8565b610732565b6100ab6101353660046110c8565b61085f565b6100ab610148366004610f93565b610973565b6100ec61015b366004611199565b610a87565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061018c90859085906004016111d2565b602060405180830381865afa1580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190611216565b6101f25760405162461bcd60e51b81526004016101e990611231565b60405180910390fd5b6002548c908c906001600160a01b038084169116146102235760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146102505760405162461bcd60e51b81526004016101e9906112a4565b61027d87877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6000610d25565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750505050505050509998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061034390859085906004016111d2565b602060405180830381865afa158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190611216565b6103a05760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146103d15760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146103fe5760405162461bcd60e51b81526004016101e9906112a4565b61042b87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688c8c610b7f565b600254600160c01b900460ff16156104ba5760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018d905291169063cd7245c59060440160a060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906112e4565b50505050505b50506040805160008152602081019091529a9950505050505050505050565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263b96731c29261052e92821691600160a01b900463ffffffff169089906044810161135e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261058393925090602481016113a7565b6000604051808303816000875af11580156105a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105ca9190810190611485565b5050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906105fa90859085906004016111d2565b602060405180830381865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190611216565b6106575760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b038084169116146106885760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146106b55760405162461bcd60e51b81526004016101e9906112a4565b6106e287877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6001610d25565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061075e90859085906004016111d2565b602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f9190611216565b6107bb5760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146107ec5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146108195760405162461bcd60e51b81526004016101e9906112a4565b61084687877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088c8c610b7f565b61084f8a610e6c565b9c9b505050505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061088b90859085906004016111d2565b602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611216565b6108e85760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146109195760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146109465760405162461bcd60e51b81526004016101e9906112a4565b61084687877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108c8c610b7f565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061099f90859085906004016111d2565b602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611216565b6109fc5760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b03808416911614610a2d5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b03828116911614610a5a5760405162461bcd60e51b81526004016101e9906112a4565b61027d87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688e8e610b7f565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263232d2b5892610ade92821691600160a01b900463ffffffff16908a908a90604481016114c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3393925090602481016113a7565b6000604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a9190810190611485565b505050565b604051631fb6491d60e11b81526000903390633f6c923a90610ba790899089906004016111d2565b600060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bec919081019061153d565b905060008060608360a00151806020019051810190610c0b9190611644565b91945092509050868314610c565760405162461bcd60e51b815260206004820152601260248201527177726f6e672063616c6c6261636b5479706560701b60448201526064016101e9565b60808401516001600160e01b0319838116911614610cb65760405162461bcd60e51b815260206004820152601760248201527f77726f6e672061677265656d656e7453656c6563746f7200000000000000000060448201526064016101e9565b8585604051610cc692919061169b565b6040518091039020818051906020012014610d1a5760405162461bcd60e51b815260206004820152601460248201527377726f6e67206141677265656d656e744461746160601b60448201526064016101e9565b505050505050505050565b60008060008060008088511115610d985787806020019051810190610d4a91906112e4565b604051949950929750909550935091507f2454540e0875d1db1518bd2e89c610a09e41eb24b53620d5cf7f43cc5112d53590610d8f90879087908790879087906116ab565b60405180910390a15b85610e625760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018a905291169063cd7245c59060440160a060405180830381865afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1491906112e4565b604051949950929750909550935091507fca5ab0cc93ce90dc74e03f000eb2f1bf6fe2af97ef814ed740d1eafc597da90490610e5990879087908790879087906116ab565b60405180910390a15b5050505050505050565b60015460025460405163cd7245c560e01b81526001600160a01b03918216600482015260248101849052606092600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef191906112e4565b60405194995092975090955093509150610f1790869086908690869086906020016116ab565b60405160208183030381529060405295505050505050919050565b6001600160a01b0381168114610f4757600080fd5b50565b60008083601f840112610f5c57600080fd5b50813567ffffffffffffffff811115610f7457600080fd5b602083019150836020828501011115610f8c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610fb157600080fd5b8935610fbc81610f32565b985060208a0135610fcc81610f32565b975060408a0135965060608a013567ffffffffffffffff80821115610ff057600080fd5b610ffc8d838e01610f4a565b909850965060808c013591508082111561101557600080fd5b6110218d838e01610f4a565b909650945060a08c013591508082111561103a57600080fd5b506110478c828d01610f4a565b915080935050809150509295985092959850929598565b60005b83811015611079578181015183820152602001611061565b50506000910152565b6000815180845261109a81602086016020860161105e565b601f01601f19169290920160200192915050565b6020815260006110c16020830184611082565b9392505050565b600080600080600080600060a0888a0312156110e357600080fd5b87356110ee81610f32565b965060208801356110fe81610f32565b955060408801359450606088013567ffffffffffffffff8082111561112257600080fd5b61112e8b838c01610f4a565b909650945060808a013591508082111561114757600080fd5b506111548a828b01610f4a565b989b979a50959850939692959293505050565b6001600160801b0381168114610f4757600080fd5b60006020828403121561118e57600080fd5b81356110c181611167565b600080604083850312156111ac57600080fd5b82356111b781610f32565b915060208301356111c781611167565b809150509250929050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b8051801515811461121157600080fd5b919050565b60006020828403121561122857600080fd5b6110c182611201565b60208082526027908201527f49444153757065724170705465737465723a20637478206e6f742076616c6964604082015266206265666f726560c81b606082015260800190565b6020808252601290820152713737ba1030b1b1b2b83a32b2103a37b5b2b760711b604082015260600190565b6020808252600790820152666e6f742069646160c81b604082015260600190565b805161121181610f32565b805163ffffffff8116811461121157600080fd5b600080600080600060a086880312156112fc57600080fd5b855161130781610f32565b9450611315602087016112d0565b935061132360408701611201565b9250606086015161133381611167565b80925050608086015190509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061139d90830184611082565b9695505050505050565b6001600160a01b03841681526060602082018190526000906113cb90830185611082565b828103604084015261139d8185611082565b604051610160810167ffffffffffffffff8111828210171561140157611401611348565b60405290565b600082601f83011261141857600080fd5b815167ffffffffffffffff8082111561143357611433611348565b604051601f8301601f19908116603f0116810190828211818310171561145b5761145b611348565b8160405283815286602085880101111561147457600080fd5b61139d84602083016020890161105e565b60006020828403121561149757600080fd5b815167ffffffffffffffff8111156114ae57600080fd5b6114ba84828501611407565b949350505050565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061150990830184611082565b979650505050505050565b805160ff8116811461121157600080fd5b80516001600160e01b03198116811461121157600080fd5b60006020828403121561154f57600080fd5b815167ffffffffffffffff8082111561156757600080fd5b90830190610160828603121561157c57600080fd5b6115846113dd565b61158d83611514565b815261159b60208401611514565b6020820152604083015160408201526115b6606084016112c5565b60608201526115c760808401611525565b608082015260a0830151828111156115de57600080fd5b6115ea87828601611407565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116218284016112c5565b8282015261014091506116358284016112c5565b91810191909152949350505050565b60008060006060848603121561165957600080fd5b8351925061166960208501611525565b9150604084015167ffffffffffffffff81111561168557600080fd5b61169186828701611407565b9150509250925092565b8183823760009101908152919050565b6001600160a01b0395909516855263ffffffff93909316602085015290151560408401526001600160801b03166060830152608082015260a0019056fea2646970667358221220b33cb5555aea92d8fcfd38c5dc622e881ae41ccce866c641c338667d34b125ec64736f6c63430008130033",
400
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806353c11f991161006657806353c11f99146101015780635f9e7d7714610114578063884d1f4014610127578063d86ed3e51461013a578063fbd6c5311461014d57600080fd5b8063230dbd291461009857806330d9c915146100c157806334cdedda146100d457806334e5a692146100ee575b600080fd5b6100ab6100a6366004610f93565b610160565b6040516100b891906110ae565b60405180910390f35b6100ab6100cf3660046110c8565b610317565b6100ec6002805460ff60c01b1916600160c01b179055565b005b6100ec6100fc36600461117c565b6104d9565b6100ab61010f366004610f93565b6105ce565b6100ab6101223660046110c8565b610732565b6100ab6101353660046110c8565b61085f565b6100ab610148366004610f93565b610973565b6100ec61015b366004611199565b610a87565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061018c90859085906004016111d2565b602060405180830381865afa1580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190611216565b6101f25760405162461bcd60e51b81526004016101e990611231565b60405180910390fd5b6002548c908c906001600160a01b038084169116146102235760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146102505760405162461bcd60e51b81526004016101e9906112a4565b61027d87877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6000610d25565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750505050505050509998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061034390859085906004016111d2565b602060405180830381865afa158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190611216565b6103a05760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146103d15760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146103fe5760405162461bcd60e51b81526004016101e9906112a4565b61042b87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688c8c610b7f565b600254600160c01b900460ff16156104ba5760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018d905291169063cd7245c59060440160a060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906112e4565b50505050505b50506040805160008152602081019091529a9950505050505050505050565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263b96731c29261052e92821691600160a01b900463ffffffff169089906044810161135e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261058393925090602481016113a7565b6000604051808303816000875af11580156105a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105ca9190810190611485565b5050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906105fa90859085906004016111d2565b602060405180830381865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190611216565b6106575760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b038084169116146106885760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146106b55760405162461bcd60e51b81526004016101e9906112a4565b6106e287877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6001610d25565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061075e90859085906004016111d2565b602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f9190611216565b6107bb5760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146107ec5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146108195760405162461bcd60e51b81526004016101e9906112a4565b61084687877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088c8c610b7f565b61084f8a610e6c565b9c9b505050505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061088b90859085906004016111d2565b602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611216565b6108e85760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146109195760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146109465760405162461bcd60e51b81526004016101e9906112a4565b61084687877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108c8c610b7f565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061099f90859085906004016111d2565b602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611216565b6109fc5760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b03808416911614610a2d5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b03828116911614610a5a5760405162461bcd60e51b81526004016101e9906112a4565b61027d87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688e8e610b7f565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263232d2b5892610ade92821691600160a01b900463ffffffff16908a908a90604481016114c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3393925090602481016113a7565b6000604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a9190810190611485565b505050565b604051631fb6491d60e11b81526000903390633f6c923a90610ba790899089906004016111d2565b600060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bec919081019061153d565b905060008060608360a00151806020019051810190610c0b9190611644565b91945092509050868314610c565760405162461bcd60e51b815260206004820152601260248201527177726f6e672063616c6c6261636b5479706560701b60448201526064016101e9565b60808401516001600160e01b0319838116911614610cb65760405162461bcd60e51b815260206004820152601760248201527f77726f6e672061677265656d656e7453656c6563746f7200000000000000000060448201526064016101e9565b8585604051610cc692919061169b565b6040518091039020818051906020012014610d1a5760405162461bcd60e51b815260206004820152601460248201527377726f6e67206141677265656d656e744461746160601b60448201526064016101e9565b505050505050505050565b60008060008060008088511115610d985787806020019051810190610d4a91906112e4565b604051949950929750909550935091507f2454540e0875d1db1518bd2e89c610a09e41eb24b53620d5cf7f43cc5112d53590610d8f90879087908790879087906116ab565b60405180910390a15b85610e625760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018a905291169063cd7245c59060440160a060405180830381865afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1491906112e4565b604051949950929750909550935091507fca5ab0cc93ce90dc74e03f000eb2f1bf6fe2af97ef814ed740d1eafc597da90490610e5990879087908790879087906116ab565b60405180910390a15b5050505050505050565b60015460025460405163cd7245c560e01b81526001600160a01b03918216600482015260248101849052606092600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef191906112e4565b60405194995092975090955093509150610f1790869086908690869086906020016116ab565b60405160208183030381529060405295505050505050919050565b6001600160a01b0381168114610f4757600080fd5b50565b60008083601f840112610f5c57600080fd5b50813567ffffffffffffffff811115610f7457600080fd5b602083019150836020828501011115610f8c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610fb157600080fd5b8935610fbc81610f32565b985060208a0135610fcc81610f32565b975060408a0135965060608a013567ffffffffffffffff80821115610ff057600080fd5b610ffc8d838e01610f4a565b909850965060808c013591508082111561101557600080fd5b6110218d838e01610f4a565b909650945060a08c013591508082111561103a57600080fd5b506110478c828d01610f4a565b915080935050809150509295985092959850929598565b60005b83811015611079578181015183820152602001611061565b50506000910152565b6000815180845261109a81602086016020860161105e565b601f01601f19169290920160200192915050565b6020815260006110c16020830184611082565b9392505050565b600080600080600080600060a0888a0312156110e357600080fd5b87356110ee81610f32565b965060208801356110fe81610f32565b955060408801359450606088013567ffffffffffffffff8082111561112257600080fd5b61112e8b838c01610f4a565b909650945060808a013591508082111561114757600080fd5b506111548a828b01610f4a565b989b979a50959850939692959293505050565b6001600160801b0381168114610f4757600080fd5b60006020828403121561118e57600080fd5b81356110c181611167565b600080604083850312156111ac57600080fd5b82356111b781610f32565b915060208301356111c781611167565b809150509250929050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b8051801515811461121157600080fd5b919050565b60006020828403121561122857600080fd5b6110c182611201565b60208082526027908201527f49444153757065724170705465737465723a20637478206e6f742076616c6964604082015266206265666f726560c81b606082015260800190565b6020808252601290820152713737ba1030b1b1b2b83a32b2103a37b5b2b760711b604082015260600190565b6020808252600790820152666e6f742069646160c81b604082015260600190565b805161121181610f32565b805163ffffffff8116811461121157600080fd5b600080600080600060a086880312156112fc57600080fd5b855161130781610f32565b9450611315602087016112d0565b935061132360408701611201565b9250606086015161133381611167565b80925050608086015190509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061139d90830184611082565b9695505050505050565b6001600160a01b03841681526060602082018190526000906113cb90830185611082565b828103604084015261139d8185611082565b604051610160810167ffffffffffffffff8111828210171561140157611401611348565b60405290565b600082601f83011261141857600080fd5b815167ffffffffffffffff8082111561143357611433611348565b604051601f8301601f19908116603f0116810190828211818310171561145b5761145b611348565b8160405283815286602085880101111561147457600080fd5b61139d84602083016020890161105e565b60006020828403121561149757600080fd5b815167ffffffffffffffff8111156114ae57600080fd5b6114ba84828501611407565b949350505050565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061150990830184611082565b979650505050505050565b805160ff8116811461121157600080fd5b80516001600160e01b03198116811461121157600080fd5b60006020828403121561154f57600080fd5b815167ffffffffffffffff8082111561156757600080fd5b90830190610160828603121561157c57600080fd5b6115846113dd565b61158d83611514565b815261159b60208401611514565b6020820152604083015160408201526115b6606084016112c5565b60608201526115c760808401611525565b608082015260a0830151828111156115de57600080fd5b6115ea87828601611407565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116218284016112c5565b8282015261014091506116358284016112c5565b91810191909152949350505050565b60008060006060848603121561165957600080fd5b8351925061166960208501611525565b9150604084015167ffffffffffffffff81111561168557600080fd5b61169186828701611407565b9150509250925092565b8183823760009101908152919050565b6001600160a01b0395909516855263ffffffff93909316602085015290151560408401526001600160801b03166060830152608082015260a0019056fea2646970667358221220b33cb5555aea92d8fcfd38c5dc622e881ae41ccce866c641c338667d34b125ec64736f6c63430008130033",
401
401
  "linkReferences": {},
402
402
  "deployedLinkReferences": {}
403
403
  }
@@ -55,8 +55,8 @@
55
55
  "type": "function"
56
56
  }
57
57
  ],
58
- "bytecode": "0x608060405234801561001057600080fd5b506102e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ed8c4b91461003b578063eefa3cde14610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e3660046101fe565b6100ce565b6040516316e7427360e21b81526001600160a01b03861690635b9d09cc9061009590879087908790879060040161023f565b600060405180830381600087803b1580156100af57600080fd5b505af11580156100c3573d6000803e3d6000fd5b505050505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801561011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101419190610287565b50505050565b6001600160a01b038116811461015c57600080fd5b50565b60008060008060006080868803121561017757600080fd5b853561018281610147565b9450602086013561019281610147565b935060408601359250606086013567ffffffffffffffff808211156101b657600080fd5b818801915088601f8301126101ca57600080fd5b8135818111156101d957600080fd5b8960208285010111156101eb57600080fd5b9699959850939650602001949392505050565b60008060006060848603121561021357600080fd5b833561021e81610147565b9250602084013561022e81610147565b929592945050506040919091013590565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561029957600080fd5b815180151581146102a957600080fd5b939250505056fea264697066735822122092ae2dfc38cf2db22313ab6daf9e3c583f5bdec0154d453df2fa2eeaab85721864736f6c63430008130033",
59
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80632ed8c4b91461003b578063eefa3cde14610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e3660046101fe565b6100ce565b6040516316e7427360e21b81526001600160a01b03861690635b9d09cc9061009590879087908790879060040161023f565b600060405180830381600087803b1580156100af57600080fd5b505af11580156100c3573d6000803e3d6000fd5b505050505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801561011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101419190610287565b50505050565b6001600160a01b038116811461015c57600080fd5b50565b60008060008060006080868803121561017757600080fd5b853561018281610147565b9450602086013561019281610147565b935060408601359250606086013567ffffffffffffffff808211156101b657600080fd5b818801915088601f8301126101ca57600080fd5b8135818111156101d957600080fd5b8960208285010111156101eb57600080fd5b9699959850939650602001949392505050565b60008060006060848603121561021357600080fd5b833561021e81610147565b9250602084013561022e81610147565b929592945050506040919091013590565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561029957600080fd5b815180151581146102a957600080fd5b939250505056fea264697066735822122092ae2dfc38cf2db22313ab6daf9e3c583f5bdec0154d453df2fa2eeaab85721864736f6c63430008130033",
58
+ "bytecode": "0x608060405234801561001057600080fd5b506102e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ed8c4b91461003b578063eefa3cde14610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e3660046101fe565b6100ce565b6040516316e7427360e21b81526001600160a01b03861690635b9d09cc9061009590879087908790879060040161023f565b600060405180830381600087803b1580156100af57600080fd5b505af11580156100c3573d6000803e3d6000fd5b505050505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801561011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101419190610287565b50505050565b6001600160a01b038116811461015c57600080fd5b50565b60008060008060006080868803121561017757600080fd5b853561018281610147565b9450602086013561019281610147565b935060408601359250606086013567ffffffffffffffff808211156101b657600080fd5b818801915088601f8301126101ca57600080fd5b8135818111156101d957600080fd5b8960208285010111156101eb57600080fd5b9699959850939650602001949392505050565b60008060006060848603121561021357600080fd5b833561021e81610147565b9250602084013561022e81610147565b929592945050506040919091013590565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561029957600080fd5b815180151581146102a957600080fd5b939250505056fea2646970667358221220dde6ac1ed12410ca30087718b5420d653a81cf4b4e48b1951c02609028f1c13f64736f6c63430008130033",
59
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80632ed8c4b91461003b578063eefa3cde14610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e3660046101fe565b6100ce565b6040516316e7427360e21b81526001600160a01b03861690635b9d09cc9061009590879087908790879060040161023f565b600060405180830381600087803b1580156100af57600080fd5b505af11580156100c3573d6000803e3d6000fd5b505050505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801561011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101419190610287565b50505050565b6001600160a01b038116811461015c57600080fd5b50565b60008060008060006080868803121561017757600080fd5b853561018281610147565b9450602086013561019281610147565b935060408601359250606086013567ffffffffffffffff808211156101b657600080fd5b818801915088601f8301126101ca57600080fd5b8135818111156101d957600080fd5b8960208285010111156101eb57600080fd5b9699959850939650602001949392505050565b60008060006060848603121561021357600080fd5b833561021e81610147565b9250602084013561022e81610147565b929592945050506040919091013590565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561029957600080fd5b815180151581146102a957600080fd5b939250505056fea2646970667358221220dde6ac1ed12410ca30087718b5420d653a81cf4b4e48b1951c02609028f1c13f64736f6c63430008130033",
60
60
  "linkReferences": {},
61
61
  "deployedLinkReferences": {}
62
62
  }
@@ -57,6 +57,19 @@
57
57
  "stateMutability": "view",
58
58
  "type": "function"
59
59
  },
60
+ {
61
+ "inputs": [],
62
+ "name": "HOST",
63
+ "outputs": [
64
+ {
65
+ "internalType": "contract ISuperfluid",
66
+ "name": "",
67
+ "type": "address"
68
+ }
69
+ ],
70
+ "stateMutability": "view",
71
+ "type": "function"
72
+ },
60
73
  {
61
74
  "inputs": [
62
75
  {
@@ -332,19 +345,6 @@
332
345
  "stateMutability": "view",
333
346
  "type": "function"
334
347
  },
335
- {
336
- "inputs": [],
337
- "name": "host",
338
- "outputs": [
339
- {
340
- "internalType": "contract ISuperfluid",
341
- "name": "",
342
- "type": "address"
343
- }
344
- ],
345
- "stateMutability": "view",
346
- "type": "function"
347
- },
348
348
  {
349
349
  "inputs": [
350
350
  {
@@ -432,8 +432,8 @@
432
432
  "type": "function"
433
433
  }
434
434
  ],
435
- "bytecode": "0x60806040523480156200001157600080fd5b506040516200151f3803806200151f83398101604081905262000034916200010a565b600080546001600160a01b0319166001600160a01b03861617905583838383640100000001836200006757640200000000175b826200007557640c00000000175b816200008357643000000000175b6040516315a722b960e31b8152600481018290526001600160a01b0386169063ad3915c890602401600060405180830381600087803b158015620000c657600080fd5b505af1158015620000db573d6000803e3d6000fd5b5050600060015550620001749950505050505050505050565b805180151581146200010557600080fd5b919050565b600080600080608085870312156200012157600080fd5b84516001600160a01b03811681146200013957600080fd5b93506200014960208601620000f4565b92506200015960408601620000f4565b91506200016960608601620000f4565b905092959194509250565b61139b80620001846000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806381596a2411610097578063de83f18811610066578063de83f1881461020d578063e4776b3314610238578063e5d719581461024b578063f437bc591461029057600080fd5b806381596a24146101bd578063884d1f40146101d2578063bcb4546f146101e5578063d86ed3e5146101fa57600080fd5b806330d9c915116100d357806330d9c9151461016157806353c11f99146101745780635f9e7d771461018757806372ca8a3e1461019a57600080fd5b8063230dbd29146100fa578063284c578114610123578063303a0cf51461013a575b600080fd5b61010d610108366004610e9e565b6102a3565b60405161011a9190610fb9565b60405180910390f35b61012c60015481565b60405190815260200161011a565b60005461014e90600160a01b9004600b0b81565b604051600b9190910b815260200161011a565b61010d61016f366004610fd3565b610388565b61010d610182366004610e9e565b6103ad565b61010d610195366004610fd3565b61046d565b6101ad6101a8366004611072565b610535565b604051901515815260200161011a565b6101d06101cb36600461109e565b61056c565b005b61010d6101e0366004610fd3565b610586565b61012c60008051602061134683398151915281565b61010d610208366004610e9e565b610666565b600254610220906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b600354610220906001600160a01b031681565b6101d06102593660046110e9565b6005805460ff199081166001179091556001600160a01b039092166000908152600460205260409020805491151591909216179055565b600054610220906001600160a01b031681565b6000546060906001600160a01b031633146102d157604051632f2d36a760e01b815260040160405180910390fd5b6102da89610732565b61031d5782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061037b92505050565b6103268a610535565b61034357604051631ea25bab60e31b815260040160405180910390fd5b600061035187890189611127565b50905060008061036387890189611155565b915091506103758d8484848a8a6107c8565b93505050505b9998505050505050505050565b604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6000546060906001600160a01b0316331415806103d057506103ce89610732565b155b806103e157506103df8a610535565b155b156104255782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061037b92505050565b600080610434888a018a611127565b9092509050600080610448888a018a611181565b9150915061045b8e858584868c8c61084e565b9e9d5050505050505050505050505050565b6000546060906001600160a01b031633141580610490575061048e87610732565b155b806104a1575061049f88610535565b155b156104c55750604080518082019091526002815261060f60f31b60208201526103a2565b6000806104d486880188611127565b90925090506000806104f06001600160a01b038d1685856108e5565b5050915091508181604051602001610515929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b60055460009060ff16610549576001610566565b6001600160a01b03821660009081526004602052604090205460ff165b92915050565b6105806001600160a01b0384168383610987565b50505050565b6000546060906001600160a01b031633146105b457604051632f2d36a760e01b815260040160405180910390fd5b6105bd87610732565b6105e05750604080518082019091526002815261060f60f31b60208201526103a2565b6105e988610535565b61060657604051631ea25bab60e31b815260040160405180910390fd5b600061061485870187611127565b50905060008061062e6001600160a01b038c1684306108e5565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b6000546060906001600160a01b0316331461069457604051632f2d36a760e01b815260040160405180910390fd5b61069d89610732565b6106e05782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061037b92505050565b6106e98a610535565b61070657604051631ea25bab60e31b815260040160405180910390fd5b600061071487890189611127565b5090506107238b8286866109ae565b9b9a5050505050505050505050565b60008054604051635b69006f60e11b815260008051602061134683398151915260048201526001600160a01b039091169063b6d200de90602401602060405180830381865afa158015610789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ad91906111a6565b6001600160a01b0316826001600160a01b0316149050919050565b6001839055600080546001600160a01b03908116600160a01b6bffffffffffffffffffffffff88160217909155600280546001600160a01b031916918716919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929a9950505050505050505050565b6001839055600080546001600160a01b03908116600160a01b6bffffffffffffffffffffffff88160217909155600280546001600160a01b03199081168984161790915560038054909116918716919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929b9a5050505050505050505050565b60008060008060006108f688610a09565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097591906111c3565b929b919a509850909650945050505050565b604080516000808252602082019092526109a690859085908590610b78565b949350505050565b600280546001600160a01b0319166001600160a01b038516179055604080516020601f840181900481028201810190925282815260609184908490819084018382808284376000920191909152509298975050505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610b47576001600160a01b038216610ace57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb91906111a6565b91505b604051635b69006f60e11b815260008051602061134683398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610b20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4491906111a6565b90505b6001600160a01b038216610b5d57610b5d611217565b6001600160a01b038116610b7357610b73611217565b915091565b6000806000610b8687610ca4565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b600067ffffffffffffffff811115610bc657610bc6611201565b6040519080825280601f01601f191660200182016040528015610bf0576020820181803683370190505b50604051602401610c04949392919061122d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610c4f93925090899060040161126d565b6000604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9691908101906112a3565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610b47576001600160a01b038216610d6957826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6691906111a6565b91505b604051635b69006f60e11b815260008051602061134683398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf91906111a6565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a556001600160a01b038216610b5d57610b5d611217565b6001600160a01b0381168114610e5257600080fd5b50565b60008083601f840112610e6757600080fd5b50813567ffffffffffffffff811115610e7f57600080fd5b602083019150836020828501011115610e9757600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610ebc57600080fd5b8935610ec781610e3d565b985060208a0135610ed781610e3d565b975060408a0135965060608a013567ffffffffffffffff80821115610efb57600080fd5b610f078d838e01610e55565b909850965060808c0135915080821115610f2057600080fd5b610f2c8d838e01610e55565b909650945060a08c0135915080821115610f4557600080fd5b50610f528c828d01610e55565b915080935050809150509295985092959850929598565b60005b83811015610f84578181015183820152602001610f6c565b50506000910152565b60008151808452610fa5816020860160208601610f69565b601f01601f19169290920160200192915050565b602081526000610fcc6020830184610f8d565b9392505050565b600080600080600080600060a0888a031215610fee57600080fd5b8735610ff981610e3d565b9650602088013561100981610e3d565b955060408801359450606088013567ffffffffffffffff8082111561102d57600080fd5b6110398b838c01610e55565b909650945060808a013591508082111561105257600080fd5b5061105f8a828b01610e55565b989b979a50959850939692959293505050565b60006020828403121561108457600080fd5b8135610fcc81610e3d565b80600b0b8114610e5257600080fd5b6000806000606084860312156110b357600080fd5b83356110be81610e3d565b925060208401356110ce81610e3d565b915060408401356110de8161108f565b809150509250925092565b600080604083850312156110fc57600080fd5b823561110781610e3d565b91506020830135801515811461111c57600080fd5b809150509250929050565b6000806040838503121561113a57600080fd5b823561114581610e3d565b9150602083013561111c81610e3d565b6000806040838503121561116857600080fd5b82356111738161108f565b946020939093013593505050565b6000806040838503121561119457600080fd5b82359150602083013561111c8161108f565b6000602082840312156111b857600080fd5b8151610fcc81610e3d565b600080600080608085870312156111d957600080fd5b8451935060208501516111eb8161108f565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061126390830184610f8d565b9695505050505050565b6001600160a01b038416815260606020820181905260009061129190830185610f8d565b82810360408401526112638185610f8d565b6000602082840312156112b557600080fd5b815167ffffffffffffffff808211156112cd57600080fd5b818401915084601f8301126112e157600080fd5b8151818111156112f3576112f3611201565b604051601f8201601f19908116603f0116810190838211818310171561131b5761131b611201565b8160405282815287602084870101111561133457600080fd5b6103a2836020830160208801610f6956fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3a2646970667358221220262e700c4984b91a1d1fa3f20cc957ec60b4a1d9243095016a2bdec0bc34c1f864736f6c63430008130033",
436
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806381596a2411610097578063de83f18811610066578063de83f1881461020d578063e4776b3314610238578063e5d719581461024b578063f437bc591461029057600080fd5b806381596a24146101bd578063884d1f40146101d2578063bcb4546f146101e5578063d86ed3e5146101fa57600080fd5b806330d9c915116100d357806330d9c9151461016157806353c11f99146101745780635f9e7d771461018757806372ca8a3e1461019a57600080fd5b8063230dbd29146100fa578063284c578114610123578063303a0cf51461013a575b600080fd5b61010d610108366004610e9e565b6102a3565b60405161011a9190610fb9565b60405180910390f35b61012c60015481565b60405190815260200161011a565b60005461014e90600160a01b9004600b0b81565b604051600b9190910b815260200161011a565b61010d61016f366004610fd3565b610388565b61010d610182366004610e9e565b6103ad565b61010d610195366004610fd3565b61046d565b6101ad6101a8366004611072565b610535565b604051901515815260200161011a565b6101d06101cb36600461109e565b61056c565b005b61010d6101e0366004610fd3565b610586565b61012c60008051602061134683398151915281565b61010d610208366004610e9e565b610666565b600254610220906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b600354610220906001600160a01b031681565b6101d06102593660046110e9565b6005805460ff199081166001179091556001600160a01b039092166000908152600460205260409020805491151591909216179055565b600054610220906001600160a01b031681565b6000546060906001600160a01b031633146102d157604051632f2d36a760e01b815260040160405180910390fd5b6102da89610732565b61031d5782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061037b92505050565b6103268a610535565b61034357604051631ea25bab60e31b815260040160405180910390fd5b600061035187890189611127565b50905060008061036387890189611155565b915091506103758d8484848a8a6107c8565b93505050505b9998505050505050505050565b604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6000546060906001600160a01b0316331415806103d057506103ce89610732565b155b806103e157506103df8a610535565b155b156104255782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061037b92505050565b600080610434888a018a611127565b9092509050600080610448888a018a611181565b9150915061045b8e858584868c8c61084e565b9e9d5050505050505050505050505050565b6000546060906001600160a01b031633141580610490575061048e87610732565b155b806104a1575061049f88610535565b155b156104c55750604080518082019091526002815261060f60f31b60208201526103a2565b6000806104d486880188611127565b90925090506000806104f06001600160a01b038d1685856108e5565b5050915091508181604051602001610515929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b60055460009060ff16610549576001610566565b6001600160a01b03821660009081526004602052604090205460ff165b92915050565b6105806001600160a01b0384168383610987565b50505050565b6000546060906001600160a01b031633146105b457604051632f2d36a760e01b815260040160405180910390fd5b6105bd87610732565b6105e05750604080518082019091526002815261060f60f31b60208201526103a2565b6105e988610535565b61060657604051631ea25bab60e31b815260040160405180910390fd5b600061061485870187611127565b50905060008061062e6001600160a01b038c1684306108e5565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b6000546060906001600160a01b0316331461069457604051632f2d36a760e01b815260040160405180910390fd5b61069d89610732565b6106e05782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061037b92505050565b6106e98a610535565b61070657604051631ea25bab60e31b815260040160405180910390fd5b600061071487890189611127565b5090506107238b8286866109ae565b9b9a5050505050505050505050565b60008054604051635b69006f60e11b815260008051602061134683398151915260048201526001600160a01b039091169063b6d200de90602401602060405180830381865afa158015610789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ad91906111a6565b6001600160a01b0316826001600160a01b0316149050919050565b6001839055600080546001600160a01b03908116600160a01b6bffffffffffffffffffffffff88160217909155600280546001600160a01b031916918716919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929a9950505050505050505050565b6001839055600080546001600160a01b03908116600160a01b6bffffffffffffffffffffffff88160217909155600280546001600160a01b03199081168984161790915560038054909116918716919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929b9a5050505050505050505050565b60008060008060006108f688610a09565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097591906111c3565b929b919a509850909650945050505050565b604080516000808252602082019092526109a690859085908590610b78565b949350505050565b600280546001600160a01b0319166001600160a01b038516179055604080516020601f840181900481028201810190925282815260609184908490819084018382808284376000920191909152509298975050505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610b47576001600160a01b038216610ace57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb91906111a6565b91505b604051635b69006f60e11b815260008051602061134683398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610b20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4491906111a6565b90505b6001600160a01b038216610b5d57610b5d611217565b6001600160a01b038116610b7357610b73611217565b915091565b6000806000610b8687610ca4565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b600067ffffffffffffffff811115610bc657610bc6611201565b6040519080825280601f01601f191660200182016040528015610bf0576020820181803683370190505b50604051602401610c04949392919061122d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610c4f93925090899060040161126d565b6000604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9691908101906112a3565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610b47576001600160a01b038216610d6957826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6691906111a6565b91505b604051635b69006f60e11b815260008051602061134683398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf91906111a6565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a556001600160a01b038216610b5d57610b5d611217565b6001600160a01b0381168114610e5257600080fd5b50565b60008083601f840112610e6757600080fd5b50813567ffffffffffffffff811115610e7f57600080fd5b602083019150836020828501011115610e9757600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610ebc57600080fd5b8935610ec781610e3d565b985060208a0135610ed781610e3d565b975060408a0135965060608a013567ffffffffffffffff80821115610efb57600080fd5b610f078d838e01610e55565b909850965060808c0135915080821115610f2057600080fd5b610f2c8d838e01610e55565b909650945060a08c0135915080821115610f4557600080fd5b50610f528c828d01610e55565b915080935050809150509295985092959850929598565b60005b83811015610f84578181015183820152602001610f6c565b50506000910152565b60008151808452610fa5816020860160208601610f69565b601f01601f19169290920160200192915050565b602081526000610fcc6020830184610f8d565b9392505050565b600080600080600080600060a0888a031215610fee57600080fd5b8735610ff981610e3d565b9650602088013561100981610e3d565b955060408801359450606088013567ffffffffffffffff8082111561102d57600080fd5b6110398b838c01610e55565b909650945060808a013591508082111561105257600080fd5b5061105f8a828b01610e55565b989b979a50959850939692959293505050565b60006020828403121561108457600080fd5b8135610fcc81610e3d565b80600b0b8114610e5257600080fd5b6000806000606084860312156110b357600080fd5b83356110be81610e3d565b925060208401356110ce81610e3d565b915060408401356110de8161108f565b809150509250925092565b600080604083850312156110fc57600080fd5b823561110781610e3d565b91506020830135801515811461111c57600080fd5b809150509250929050565b6000806040838503121561113a57600080fd5b823561114581610e3d565b9150602083013561111c81610e3d565b6000806040838503121561116857600080fd5b82356111738161108f565b946020939093013593505050565b6000806040838503121561119457600080fd5b82359150602083013561111c8161108f565b6000602082840312156111b857600080fd5b8151610fcc81610e3d565b600080600080608085870312156111d957600080fd5b8451935060208501516111eb8161108f565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061126390830184610f8d565b9695505050505050565b6001600160a01b038416815260606020820181905260009061129190830185610f8d565b82810360408401526112638185610f8d565b6000602082840312156112b557600080fd5b815167ffffffffffffffff808211156112cd57600080fd5b818401915084601f8301126112e157600080fd5b8151818111156112f3576112f3611201565b604051601f8201601f19908116603f0116810190838211818310171561131b5761131b611201565b8160405282815287602084870101111561133457600080fd5b6103a2836020830160208801610f6956fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3a2646970667358221220262e700c4984b91a1d1fa3f20cc957ec60b4a1d9243095016a2bdec0bc34c1f864736f6c63430008130033",
435
+ "bytecode": "0x60a06040523480156200001157600080fd5b506040516200168038038062001680833981016040819052620000349162000118565b6040805160208101909152600081526001600160a01b0385166080528490849084908490640100000001846200006c57640200000000175b836200007a57640c00000000175b826200008857643000000000175b60405163bd1c448b60e01b81526001600160a01b0387169063bd1c448b90620000b8908490869060040162000182565b600060405180830381600087803b158015620000d357600080fd5b505af1158015620000e8573d6000803e3d6000fd5b5050600060015550620001da9a5050505050505050505050565b805180151581146200011357600080fd5b919050565b600080600080608085870312156200012f57600080fd5b84516001600160a01b03811681146200014757600080fd5b9350620001576020860162000102565b9250620001676040860162000102565b9150620001776060860162000102565b905092959194509250565b82815260006020604081840152835180604085015260005b81811015620001b8578581018301518582016060015282016200019a565b506000606082860101526060601f19601f830116850101925050509392505050565b6080516114606200022060003960008181610172015281816102bd015281816103e4015281816104c1015281816105f7015281816106f401526107f601526114606000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806372ca8a3e11610097578063d86ed3e511610066578063d86ed3e514610232578063de83f18814610245578063e4776b3314610258578063e5d719581461026b57600080fd5b806372ca8a3e146101d257806381596a24146101f5578063884d1f401461020a578063bcb4546f1461021d57600080fd5b806330d9c915116100d357806330d9c9151461015a57806349f289dc1461016d57806353c11f99146101ac5780635f9e7d77146101bf57600080fd5b8063230dbd29146100fa578063284c578114610123578063303a0cf51461013a575b600080fd5b61010d610108366004610f63565b6102b0565b60405161011a919061107e565b60405180910390f35b61012c60015481565b60405190815260200161011a565b60005461014790600b0b81565b604051600b9190910b815260200161011a565b61010d610168366004611098565b6103b2565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011a565b61010d6101ba366004610f63565b6103d7565b61010d6101cd366004611098565b6104b4565b6101e56101e0366004611137565b610599565b604051901515815260200161011a565b610208610203366004611163565b6105d0565b005b61010d610218366004611098565b6105ea565b61012c60008051602061140b83398151915281565b61010d610240366004610f63565b6106e7565b600254610194906001600160a01b031681565b600354610194906001600160a01b031681565b6102086102793660046111ae565b6005805460ff199081166001179091556001600160a01b039092166000908152600460205260409020805491151591909216179055565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102fb57604051632f2d36a760e01b815260040160405180910390fd5b610304896107d0565b6103475782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6103508a610599565b61036d57604051631ea25bab60e31b815260040160405180910390fd5b600061037b878901896111ec565b50905060008061038d8789018961121a565b9150915061039f8d8484848a8a610884565b93505050505b9998505050505050505050565b604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104175750610415896107d0565b155b8061042857506104268a610599565b155b1561046c5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b60008061047b888a018a6111ec565b909250905060008061048f888a018a611246565b915091506104a28e858584868c8c61090b565b9e9d5050505050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104f457506104f2876107d0565b155b80610505575061050388610599565b155b156105295750604080518082019091526002815261060f60f31b60208201526103cc565b600080610538868801886111ec565b90925090506000806105546001600160a01b038d1685856109aa565b5050915091508181604051602001610579929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b60055460009060ff166105ad5760016105ca565b6001600160a01b03821660009081526004602052604090205460ff165b92915050565b6105e46001600160a01b0384168383610a4c565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063557604051632f2d36a760e01b815260040160405180910390fd5b61063e876107d0565b6106615750604080518082019091526002815261060f60f31b60208201526103cc565b61066a88610599565b61068757604051631ea25bab60e31b815260040160405180910390fd5b6000610695858701876111ec565b5090506000806106af6001600160a01b038c1684306109aa565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257604051632f2d36a760e01b815260040160405180910390fd5b61073b896107d0565b61077e5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6107878a610599565b6107a457604051631ea25bab60e31b815260040160405180910390fd5b60006107b2878901896111ec565b5090506107c18b828686610a73565b9b9a5050505050505050505050565b604051635b69006f60e11b815260008051602061140b83398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa158015610845573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610869919061126b565b6001600160a01b0316826001600160a01b0316149050919050565b6001839055600080546bffffffffffffffffffffffff19166bffffffffffffffffffffffff8616179055600280546001600160a01b0319166001600160a01b038716179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929a9950505050505050505050565b6001839055600080546bffffffffffffffffffffffff86166bffffffffffffffffffffffff19909116179055600280546001600160a01b038089166001600160a01b0319928316179092556003805492881692909116919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929b9a5050505050505050505050565b60008060008060006109bb88610ace565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190611288565b929b919a509850909650945050505050565b60408051600080825260208201909252610a6b90859085908590610c3d565b949350505050565b600280546001600160a01b0319166001600160a01b038516179055604080516020601f840181900481028201810190925282815260609184908490819084018382808284376000920191909152509298975050505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610b9357826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b90919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c09919061126b565b90505b6001600160a01b038216610c2257610c226112dc565b6001600160a01b038116610c3857610c386112dc565b915091565b6000806000610c4b87610d69565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b600067ffffffffffffffff811115610c8b57610c8b6112c6565b6040519080825280601f01601f191660200182016040528015610cb5576020820181803683370190505b50604051602401610cc994939291906112f2565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d14939250908990600401611332565b6000604051808303816000875af1158015610d33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5b9190810190611368565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610e2e57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea4919061126b565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a556001600160a01b038216610c2257610c226112dc565b6001600160a01b0381168114610f1757600080fd5b50565b60008083601f840112610f2c57600080fd5b50813567ffffffffffffffff811115610f4457600080fd5b602083019150836020828501011115610f5c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610f8157600080fd5b8935610f8c81610f02565b985060208a0135610f9c81610f02565b975060408a0135965060608a013567ffffffffffffffff80821115610fc057600080fd5b610fcc8d838e01610f1a565b909850965060808c0135915080821115610fe557600080fd5b610ff18d838e01610f1a565b909650945060a08c013591508082111561100a57600080fd5b506110178c828d01610f1a565b915080935050809150509295985092959850929598565b60005b83811015611049578181015183820152602001611031565b50506000910152565b6000815180845261106a81602086016020860161102e565b601f01601f19169290920160200192915050565b6020815260006110916020830184611052565b9392505050565b600080600080600080600060a0888a0312156110b357600080fd5b87356110be81610f02565b965060208801356110ce81610f02565b955060408801359450606088013567ffffffffffffffff808211156110f257600080fd5b6110fe8b838c01610f1a565b909650945060808a013591508082111561111757600080fd5b506111248a828b01610f1a565b989b979a50959850939692959293505050565b60006020828403121561114957600080fd5b813561109181610f02565b80600b0b8114610f1757600080fd5b60008060006060848603121561117857600080fd5b833561118381610f02565b9250602084013561119381610f02565b915060408401356111a381611154565b809150509250925092565b600080604083850312156111c157600080fd5b82356111cc81610f02565b9150602083013580151581146111e157600080fd5b809150509250929050565b600080604083850312156111ff57600080fd5b823561120a81610f02565b915060208301356111e181610f02565b6000806040838503121561122d57600080fd5b823561123881611154565b946020939093013593505050565b6000806040838503121561125957600080fd5b8235915060208301356111e181611154565b60006020828403121561127d57600080fd5b815161109181610f02565b6000806000806080858703121561129e57600080fd5b8451935060208501516112b081611154565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061132890830184611052565b9695505050505050565b6001600160a01b038416815260606020820181905260009061135690830185611052565b82810360408401526113288185611052565b60006020828403121561137a57600080fd5b815167ffffffffffffffff8082111561139257600080fd5b818401915084601f8301126113a657600080fd5b8151818111156113b8576113b86112c6565b604051601f8201601f19908116603f011681019083821181831017156113e0576113e06112c6565b816040528281528760208487010111156113f957600080fd5b6103cc83602083016020880161102e56fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3a2646970667358221220940f0bddb0a35a7e3c45e8edf12c7844d730bb568932c34a9e77eb588d102d9e64736f6c63430008130033",
436
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806372ca8a3e11610097578063d86ed3e511610066578063d86ed3e514610232578063de83f18814610245578063e4776b3314610258578063e5d719581461026b57600080fd5b806372ca8a3e146101d257806381596a24146101f5578063884d1f401461020a578063bcb4546f1461021d57600080fd5b806330d9c915116100d357806330d9c9151461015a57806349f289dc1461016d57806353c11f99146101ac5780635f9e7d77146101bf57600080fd5b8063230dbd29146100fa578063284c578114610123578063303a0cf51461013a575b600080fd5b61010d610108366004610f63565b6102b0565b60405161011a919061107e565b60405180910390f35b61012c60015481565b60405190815260200161011a565b60005461014790600b0b81565b604051600b9190910b815260200161011a565b61010d610168366004611098565b6103b2565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011a565b61010d6101ba366004610f63565b6103d7565b61010d6101cd366004611098565b6104b4565b6101e56101e0366004611137565b610599565b604051901515815260200161011a565b610208610203366004611163565b6105d0565b005b61010d610218366004611098565b6105ea565b61012c60008051602061140b83398151915281565b61010d610240366004610f63565b6106e7565b600254610194906001600160a01b031681565b600354610194906001600160a01b031681565b6102086102793660046111ae565b6005805460ff199081166001179091556001600160a01b039092166000908152600460205260409020805491151591909216179055565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102fb57604051632f2d36a760e01b815260040160405180910390fd5b610304896107d0565b6103475782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6103508a610599565b61036d57604051631ea25bab60e31b815260040160405180910390fd5b600061037b878901896111ec565b50905060008061038d8789018961121a565b9150915061039f8d8484848a8a610884565b93505050505b9998505050505050505050565b604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104175750610415896107d0565b155b8061042857506104268a610599565b155b1561046c5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b60008061047b888a018a6111ec565b909250905060008061048f888a018a611246565b915091506104a28e858584868c8c61090b565b9e9d5050505050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104f457506104f2876107d0565b155b80610505575061050388610599565b155b156105295750604080518082019091526002815261060f60f31b60208201526103cc565b600080610538868801886111ec565b90925090506000806105546001600160a01b038d1685856109aa565b5050915091508181604051602001610579929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b60055460009060ff166105ad5760016105ca565b6001600160a01b03821660009081526004602052604090205460ff165b92915050565b6105e46001600160a01b0384168383610a4c565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063557604051632f2d36a760e01b815260040160405180910390fd5b61063e876107d0565b6106615750604080518082019091526002815261060f60f31b60208201526103cc565b61066a88610599565b61068757604051631ea25bab60e31b815260040160405180910390fd5b6000610695858701876111ec565b5090506000806106af6001600160a01b038c1684306109aa565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257604051632f2d36a760e01b815260040160405180910390fd5b61073b896107d0565b61077e5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6107878a610599565b6107a457604051631ea25bab60e31b815260040160405180910390fd5b60006107b2878901896111ec565b5090506107c18b828686610a73565b9b9a5050505050505050505050565b604051635b69006f60e11b815260008051602061140b83398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa158015610845573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610869919061126b565b6001600160a01b0316826001600160a01b0316149050919050565b6001839055600080546bffffffffffffffffffffffff19166bffffffffffffffffffffffff8616179055600280546001600160a01b0319166001600160a01b038716179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929a9950505050505050505050565b6001839055600080546bffffffffffffffffffffffff86166bffffffffffffffffffffffff19909116179055600280546001600160a01b038089166001600160a01b0319928316179092556003805492881692909116919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929b9a5050505050505050505050565b60008060008060006109bb88610ace565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190611288565b929b919a509850909650945050505050565b60408051600080825260208201909252610a6b90859085908590610c3d565b949350505050565b600280546001600160a01b0319166001600160a01b038516179055604080516020601f840181900481028201810190925282815260609184908490819084018382808284376000920191909152509298975050505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610b9357826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b90919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c09919061126b565b90505b6001600160a01b038216610c2257610c226112dc565b6001600160a01b038116610c3857610c386112dc565b915091565b6000806000610c4b87610d69565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b600067ffffffffffffffff811115610c8b57610c8b6112c6565b6040519080825280601f01601f191660200182016040528015610cb5576020820181803683370190505b50604051602401610cc994939291906112f2565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d14939250908990600401611332565b6000604051808303816000875af1158015610d33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5b9190810190611368565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610e2e57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea4919061126b565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a556001600160a01b038216610c2257610c226112dc565b6001600160a01b0381168114610f1757600080fd5b50565b60008083601f840112610f2c57600080fd5b50813567ffffffffffffffff811115610f4457600080fd5b602083019150836020828501011115610f5c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610f8157600080fd5b8935610f8c81610f02565b985060208a0135610f9c81610f02565b975060408a0135965060608a013567ffffffffffffffff80821115610fc057600080fd5b610fcc8d838e01610f1a565b909850965060808c0135915080821115610fe557600080fd5b610ff18d838e01610f1a565b909650945060a08c013591508082111561100a57600080fd5b506110178c828d01610f1a565b915080935050809150509295985092959850929598565b60005b83811015611049578181015183820152602001611031565b50506000910152565b6000815180845261106a81602086016020860161102e565b601f01601f19169290920160200192915050565b6020815260006110916020830184611052565b9392505050565b600080600080600080600060a0888a0312156110b357600080fd5b87356110be81610f02565b965060208801356110ce81610f02565b955060408801359450606088013567ffffffffffffffff808211156110f257600080fd5b6110fe8b838c01610f1a565b909650945060808a013591508082111561111757600080fd5b506111248a828b01610f1a565b989b979a50959850939692959293505050565b60006020828403121561114957600080fd5b813561109181610f02565b80600b0b8114610f1757600080fd5b60008060006060848603121561117857600080fd5b833561118381610f02565b9250602084013561119381610f02565b915060408401356111a381611154565b809150509250925092565b600080604083850312156111c157600080fd5b82356111cc81610f02565b9150602083013580151581146111e157600080fd5b809150509250929050565b600080604083850312156111ff57600080fd5b823561120a81610f02565b915060208301356111e181610f02565b6000806040838503121561122d57600080fd5b823561123881611154565b946020939093013593505050565b6000806040838503121561125957600080fd5b8235915060208301356111e181611154565b60006020828403121561127d57600080fd5b815161109181610f02565b6000806000806080858703121561129e57600080fd5b8451935060208501516112b081611154565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061132890830184611052565b9695505050505050565b6001600160a01b038416815260606020820181905260009061135690830185611052565b82810360408401526113288185611052565b60006020828403121561137a57600080fd5b815167ffffffffffffffff8082111561139257600080fd5b818401915084601f8301126113a657600080fd5b8151818111156113b8576113b86112c6565b604051601f8201601f19908116603f011681019083821181831017156113e0576113e06112c6565b816040528281528760208487010111156113f957600080fd5b6103cc83602083016020880161102e56fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3a2646970667358221220940f0bddb0a35a7e3c45e8edf12c7844d730bb568932c34a9e77eb588d102d9e64736f6c63430008130033",
437
437
  "linkReferences": {},
438
438
  "deployedLinkReferences": {}
439
439
  }
@@ -27,8 +27,8 @@
27
27
  "type": "function"
28
28
  }
29
29
  ],
30
- "bytecode": "0x608060405234801561001057600080fd5b5061012c806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063ad88671d14602d575b600080fd5b603c603836600460ba565b603e565b005b6040516379b9982960e11b81526001600160a01b0383811660048301526024820183905284169063f373305290604401600060405180830381600087803b158015608757600080fd5b505af1158015609a573d6000803e3d6000fd5b50505050505050565b6001600160a01b038116811460b757600080fd5b50565b60008060006060848603121560ce57600080fd5b833560d78160a3565b9250602084013560e58160a3565b92959294505050604091909101359056fea2646970667358221220ef568c4e3b179ea9d68f02ae83e10826553161fab86f83abac465d985aa84a2264736f6c63430008130033",
31
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063ad88671d14602d575b600080fd5b603c603836600460ba565b603e565b005b6040516379b9982960e11b81526001600160a01b0383811660048301526024820183905284169063f373305290604401600060405180830381600087803b158015608757600080fd5b505af1158015609a573d6000803e3d6000fd5b50505050505050565b6001600160a01b038116811460b757600080fd5b50565b60008060006060848603121560ce57600080fd5b833560d78160a3565b9250602084013560e58160a3565b92959294505050604091909101359056fea2646970667358221220ef568c4e3b179ea9d68f02ae83e10826553161fab86f83abac465d985aa84a2264736f6c63430008130033",
30
+ "bytecode": "0x608060405234801561001057600080fd5b5061012c806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063ad88671d14602d575b600080fd5b603c603836600460ba565b603e565b005b6040516379b9982960e11b81526001600160a01b0383811660048301526024820183905284169063f373305290604401600060405180830381600087803b158015608757600080fd5b505af1158015609a573d6000803e3d6000fd5b50505050505050565b6001600160a01b038116811460b757600080fd5b50565b60008060006060848603121560ce57600080fd5b833560d78160a3565b9250602084013560e58160a3565b92959294505050604091909101359056fea264697066735822122022855dd4e7545d72f70b44e67bc2984f9be4e45d87cdc155939d6b48b6e7fc1764736f6c63430008130033",
31
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063ad88671d14602d575b600080fd5b603c603836600460ba565b603e565b005b6040516379b9982960e11b81526001600160a01b0383811660048301526024820183905284169063f373305290604401600060405180830381600087803b158015608757600080fd5b505af1158015609a573d6000803e3d6000fd5b50505050505050565b6001600160a01b038116811460b757600080fd5b50565b60008060006060848603121560ce57600080fd5b833560d78160a3565b9250602084013560e58160a3565b92959294505050604091909101359056fea264697066735822122022855dd4e7545d72f70b44e67bc2984f9be4e45d87cdc155939d6b48b6e7fc1764736f6c63430008130033",
32
32
  "linkReferences": {},
33
33
  "deployedLinkReferences": {}
34
34
  }