@keep-network/tbtc-v2 1.7.0 → 1.8.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/artifacts/.chainId +1 -1
  2. package/artifacts/BLS.json +223 -0
  3. package/artifacts/Bank.json +50 -40
  4. package/artifacts/BeaconAuthorization.json +273 -0
  5. package/artifacts/BeaconDkg.json +241 -0
  6. package/artifacts/BeaconDkgValidator.json +501 -0
  7. package/artifacts/BeaconInactivity.json +151 -0
  8. package/artifacts/BeaconSortitionPool.json +1187 -0
  9. package/artifacts/Bridge.json +449 -32
  10. package/artifacts/BridgeGovernance.json +22 -22
  11. package/artifacts/BridgeGovernanceParameters.json +10 -10
  12. package/artifacts/Deposit.json +12 -12
  13. package/artifacts/DepositSweep.json +12 -12
  14. package/artifacts/DonationVault.json +17 -17
  15. package/artifacts/EcdsaDkgValidator.json +517 -0
  16. package/artifacts/EcdsaInactivity.json +156 -0
  17. package/artifacts/EcdsaSortitionPool.json +1187 -0
  18. package/artifacts/Fraud.json +12 -12
  19. package/artifacts/LightRelay.json +38 -38
  20. package/artifacts/LightRelayMaintainerProxy.json +31 -31
  21. package/artifacts/MaintainerProxy.json +48 -48
  22. package/artifacts/MovingFunds.json +12 -12
  23. package/artifacts/NuCypherToken.json +711 -0
  24. package/artifacts/RandomBeacon.json +3271 -0
  25. package/artifacts/RandomBeaconChaosnet.json +252 -0
  26. package/artifacts/RandomBeaconGovernance.json +3499 -0
  27. package/artifacts/Redemption.json +12 -12
  28. package/artifacts/RedemptionWatchtower.json +39 -39
  29. package/artifacts/ReimbursementPool.json +509 -0
  30. package/artifacts/T.json +1148 -0
  31. package/artifacts/TBTC.json +37 -36
  32. package/artifacts/TBTCToken.json +738 -0
  33. package/artifacts/TBTCVault.json +47 -47
  34. package/artifacts/Timelock.json +148 -148
  35. package/artifacts/TokenStaking.json +2117 -0
  36. package/artifacts/TokenholderGovernor.json +1795 -0
  37. package/artifacts/TokenholderTimelock.json +1058 -0
  38. package/artifacts/VendingMachine.json +35 -34
  39. package/artifacts/VendingMachineNuCypher.json +400 -0
  40. package/artifacts/VendingMachineV2.json +21 -21
  41. package/artifacts/VendingMachineV3.json +21 -21
  42. package/artifacts/WalletProposalValidator.json +12 -12
  43. package/artifacts/WalletRegistry.json +1962 -0
  44. package/artifacts/WalletRegistryGovernance.json +2863 -0
  45. package/artifacts/Wallets.json +12 -12
  46. package/artifacts/solcInputs/{be146ce112252bdda3a03de3614fbbf1.json → fe0eebcebee1dc423b54e929e5519304.json} +31 -7
  47. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  48. package/build/contracts/Timelock.sol/Timelock.dbg.json +1 -1
  49. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  50. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  51. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  52. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  53. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  54. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  55. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  56. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  57. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  58. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  59. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  60. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  61. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  62. package/build/contracts/bridge/Redemption.sol/IRedemptionWatchtower.dbg.json +1 -1
  63. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  64. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  65. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.dbg.json +1 -1
  66. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  67. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  68. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  69. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  70. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  71. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.dbg.json +1 -1
  72. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  73. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  74. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  75. package/build/contracts/l2/L1BitcoinDepositor.sol/L1BitcoinDepositor.dbg.json +1 -1
  76. package/build/contracts/l2/L1BitcoinDepositor.sol/L1BitcoinDepositor.json +41 -2
  77. package/build/contracts/l2/L2BitcoinDepositor.sol/IL2WormholeGateway.dbg.json +1 -1
  78. package/build/contracts/l2/L2BitcoinDepositor.sol/L2BitcoinDepositor.dbg.json +1 -1
  79. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  80. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  81. package/build/contracts/l2/Wormhole.sol/IWormhole.dbg.json +1 -1
  82. package/build/contracts/l2/Wormhole.sol/IWormholeReceiver.dbg.json +1 -1
  83. package/build/contracts/l2/Wormhole.sol/IWormholeRelayer.dbg.json +1 -1
  84. package/build/contracts/l2/Wormhole.sol/IWormholeTokenBridge.dbg.json +1 -1
  85. package/build/contracts/l2/Wormhole.sol/WormholeTypes.dbg.json +1 -1
  86. package/build/contracts/l2/Wormhole.sol/WormholeUtils.dbg.json +1 -1
  87. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  88. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  89. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  90. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  91. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  92. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  93. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  94. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  95. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  96. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  97. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  98. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  99. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  100. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  101. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  102. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  103. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.dbg.json +1 -1
  104. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  105. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.dbg.json +1 -1
  106. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +1 -1
  107. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  108. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  109. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  110. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  111. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  112. package/contracts/l2/L1BitcoinDepositor.sol +31 -0
  113. package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +4999 -4814
  114. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +6 -6
  115. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +6 -6
  116. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +6 -6
  117. package/export/artifacts/contracts/l2/L1BitcoinDepositor.sol/L1BitcoinDepositor.json +4288 -4028
  118. package/export/artifacts/contracts/l2/L2BitcoinDepositor.sol/L2BitcoinDepositor.json +33 -33
  119. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +40 -40
  120. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +51 -51
  121. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +88 -88
  122. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  123. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  124. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  125. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +30 -30
  126. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +2 -2
  127. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  128. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  129. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  130. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  131. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +5 -5
  132. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  133. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  134. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +2 -2
  135. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockBridge.json +18 -18
  136. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +20 -20
  137. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +10 -10
  138. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  139. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  140. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  141. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +135 -135
  142. package/export/typechain/factories/EcdsaAuthorization__factory.js +1 -1
  143. package/export/typechain/factories/IStaking__factory.js +24 -103
  144. package/export/typechain/factories/L1BitcoinDepositor__factory.js +40 -1
  145. package/export/typechain/factories/WalletRegistry__factory.js +1 -1
  146. package/package.json +4 -4
  147. package/artifacts/solcInputs/7c1f8f1dbded4c787d87a982d1fc8349.json +0 -410
  148. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -102
  149. package/artifacts/solcInputs/802132f7da69a8a4226cb9424480847b.json +0 -218
  150. package/artifacts/solcInputs/887fad6b16575ba42183543c324eeb0e.json +0 -335
  151. package/artifacts/solcInputs/98e272e2fbf178ec895387b6c503f9de.json +0 -68
  152. package/artifacts/solcInputs/b0025f1f7efe4824592ac0c9793776c3.json +0 -392
  153. package/artifacts/solcInputs/b7c5f3550cc22e16e6b6ea9582ccbee3.json +0 -341
  154. package/artifacts/solcInputs/d71d4b4434e6669852eaf643ebd2a7bc.json +0 -209
  155. package/artifacts/solcInputs/fccb130292c8c7cc958ab4fa31a3e180.json +0 -187
  156. package/export/deploy/00_resolve_relay.js +0 -83
  157. package/export/deploy/01_deploy_tbtc_v2_token.js +0 -70
  158. package/export/deploy/02_deploy_vending_machine.js +0 -84
  159. package/export/deploy/03_transfer_vending_machine_roles.js +0 -69
  160. package/export/deploy/04_deploy_bank.js +0 -73
  161. package/export/deploy/05_deploy_bridge.js +0 -178
  162. package/export/deploy/06_deploy_tbtc_vault.js +0 -80
  163. package/export/deploy/07_deploy_bridge_governance.js +0 -87
  164. package/export/deploy/08_deploy_maintainer_proxy.js +0 -80
  165. package/export/deploy/09_bank_update_bridge.js +0 -63
  166. package/export/deploy/10_authorize_spv_maintainer_in_bridge.js +0 -61
  167. package/export/deploy/11_transfer_bank_ownership.js +0 -60
  168. package/export/deploy/12_transfer_bridge_governance.js +0 -63
  169. package/export/deploy/13_transfer_bridge_governance_ownership.js +0 -60
  170. package/export/deploy/14_transfer_tbtc_vault_ownership.js +0 -60
  171. package/export/deploy/15_transfer_maintainer_proxy_ownership.js +0 -60
  172. package/export/deploy/16_initialize_wallet_owner.js +0 -63
  173. package/export/deploy/16_transfer_proxy_admin_ownership.js +0 -73
  174. package/export/deploy/17_authorize_maintainer_proxy_in_bridge.js +0 -63
  175. package/export/deploy/17_transfer_proxy_admin_ownership.js +0 -73
  176. package/export/deploy/18_authorize_maintainer_proxy_in_bridge.js +0 -63
  177. package/export/deploy/18_authorize_maintainer_proxy_in_reimbursement_pool.js +0 -63
  178. package/export/deploy/19_authorize_bridge_in_reimbursement_pool.js +0 -63
  179. package/export/deploy/19_authorize_maintainer_proxy_in_reimbursement_pool.js +0 -63
  180. package/export/deploy/20_authorize_bridge_in_reimbursement_pool.js +0 -63
  181. package/export/deploy/20_deploy_proxy_admin_with_deputy.js +0 -80
  182. package/export/deploy/21_transfer_reimbursement_pool_ownership.js +0 -60
  183. package/export/deploy/22_deploy_proxy_admin_with_deputy.js +0 -80
  184. package/export/deploy/24_transfer_maintainer_proxy_ownership.js +0 -60
  185. package/export/deploy/25_transfer_proxy_admin_ownership.js +0 -73
  186. package/export/deploy/26_authorize_maintainer_proxy_in_reimbursement_pool.js +0 -70
  187. package/export/deploy/27_authorize_bridge_in_reimbursement_pool.js +0 -70
  188. package/export/deploy/28_deploy_proxy_admin_with_deputy.js +0 -80
  189. package/export/deploy/34_deploy_wallet_coordinator.js +0 -115
  190. package/export/deploy/35_add_coordinator_address.js +0 -60
  191. package/export/deploy/35_transfer_wallet_coordinator_ownership.js +0 -60
  192. package/export/deploy/36_deploy_light_relay_maintainer_proxy.js +0 -86
  193. package/export/deploy/36_transfer_wallet_coordinator_ownership.js +0 -60
  194. package/export/deploy/37_authorize_maintainer_in_light_relay_maintainer_proxy.js +0 -65
  195. package/export/deploy/37_deploy_light_relay_maintainer_proxy.js +0 -86
  196. package/export/deploy/37_transfer_light_relay_maintainer_proxy_ownership.js +0 -60
  197. package/export/deploy/38_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js +0 -70
  198. package/export/deploy/38_authorize_maintainer_in_light_relay_maintainer_proxy.js +0 -65
  199. package/export/deploy/38_transfer_light_relay_maintainer_proxy_ownership.js +0 -60
  200. package/export/deploy/39_authorize_light_relay_maintainer_proxy_in_light_relay.js +0 -63
  201. package/export/deploy/39_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js +0 -70
  202. package/export/deploy/39_transfer_light_relay_maintainer_proxy_ownership.js +0 -60
  203. package/export/deploy/40_authorize_light_relay_maintainer_proxy_in_light_relay.js +0 -66
  204. package/export/deploy/40_authorize_light_relay_maintainer_proxy_in_reimbursement_pool.js +0 -70
  205. package/export/deploy/41_authorize_light_relay_maintainer_proxy_in_light_relay.js +0 -66
  206. package/export/typechain/GoerliLightRelay.js +0 -2
  207. package/export/typechain/RelayStub.js +0 -2
  208. package/export/typechain/TestRelay.js +0 -2
  209. package/export/typechain/WalletCoordinator.js +0 -2
  210. package/export/typechain/factories/GoerliLightRelay__factory.js +0 -535
  211. package/export/typechain/factories/RelayStub__factory.js +0 -546
  212. package/export/typechain/factories/TestRelay__factory.js +0 -168
  213. package/export/typechain/factories/WalletCoordinator__factory.js +0 -1121
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -134,6 +134,19 @@
134
134
  "name": "OwnershipTransferred",
135
135
  "type": "event"
136
136
  },
137
+ {
138
+ "anonymous": false,
139
+ "inputs": [
140
+ {
141
+ "indexed": false,
142
+ "internalType": "bool",
143
+ "name": "reimburseTxMaxFee",
144
+ "type": "bool"
145
+ }
146
+ ],
147
+ "name": "ReimburseTxMaxFeeUpdated",
148
+ "type": "event"
149
+ },
137
150
  {
138
151
  "anonymous": false,
139
152
  "inputs": [
@@ -485,6 +498,19 @@
485
498
  "stateMutability": "view",
486
499
  "type": "function"
487
500
  },
501
+ {
502
+ "inputs": [],
503
+ "name": "reimburseTxMaxFee",
504
+ "outputs": [
505
+ {
506
+ "internalType": "bool",
507
+ "name": "",
508
+ "type": "bool"
509
+ }
510
+ ],
511
+ "stateMutability": "view",
512
+ "type": "function"
513
+ },
488
514
  {
489
515
  "inputs": [
490
516
  {
@@ -524,6 +550,19 @@
524
550
  "stateMutability": "nonpayable",
525
551
  "type": "function"
526
552
  },
553
+ {
554
+ "inputs": [
555
+ {
556
+ "internalType": "bool",
557
+ "name": "_reimburseTxMaxFee",
558
+ "type": "bool"
559
+ }
560
+ ],
561
+ "name": "setReimburseTxMaxFee",
562
+ "outputs": [],
563
+ "stateMutability": "nonpayable",
564
+ "type": "function"
565
+ },
527
566
  {
528
567
  "inputs": [],
529
568
  "name": "tbtcToken",
@@ -665,8 +704,8 @@
665
704
  "type": "function"
666
705
  }
667
706
  ],
668
- "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b603154610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60315460ff9081161015620000e2576031805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612fdf80620000f46000396000f3fe6080604052600436106101c25760003560e01c80637c9e9ffb116100f7578063c7ba034711610095578063e5d3d71411610064578063e5d3d71414610575578063e78cea9214610595578063f11df69d146105b5578063f2fde38b146105d557600080fd5b8063c7ba0347146104e7578063c81ef16814610500578063d6ae3cd514610520578063da25b7251461055557600080fd5b80639e0e4e2f116100d15780639e0e4e2f1461044a578063aa82e33b1461046a578063b02c43d01461048a578063c09975cd146104c757600080fd5b80637c9e9ffb1461039357806384acd1bb1461040c5780638da5cb5b1461042c57600080fd5b806360ec23dd11610164578063715018a61161013e578063715018a614610328578063715468311461033d57806371c654ee146103535780637b35b4e61461037357600080fd5b806360ec23dd146102a8578063642dc033146102c857806366b58a01146102e857600080fd5b80631159bef0116101a05780631159bef01461024a57806313b38cce1461026a57806327ce36c61461027f57806346d9d49a1461029557600080fd5b80630515f0c1146101c75780630f36403a146101e95780630fa1ba4414610226575b600080fd5b3480156101d357600080fd5b506101e76101e236600461259b565b6105f5565b005b3480156101f557600080fd5b50600154610209906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561023257600080fd5b5061023c60d25481565b60405190815260200161021d565b34801561025657600080fd5b506101e76102653660046125b8565b6106f8565b34801561027657600080fd5b5061023c61073b565b34801561028b57600080fd5b5061023c60d15481565b6101e76102a33660046125b8565b6107c1565b3480156102b457600080fd5b506101e76102c33660046125df565b610a7b565b3480156102d457600080fd5b506101e76102e3366004612618565b610af3565b3480156102f457600080fd5b5061031861030336600461259b565b60d36020526000908152604090205460ff1681565b604051901515815260200161021d565b34801561033457600080fd5b506101e7610cf6565b34801561034957600080fd5b5061023c60cf5481565b34801561035f57600080fd5b506101e761036e36600461269c565b610d0a565b34801561037f57600080fd5b506101e761038e36600461259b565b6110fb565b34801561039f57600080fd5b506103e06103ae3660046125b8565b60d0602052600090815260409020546001600160a01b03811690600160a01b90046bffffffffffffffffffffffff1682565b604080516001600160a01b0390931683526bffffffffffffffffffffffff90911660208301520161021d565b34801561041857600080fd5b5060ca54610209906001600160a01b031681565b34801561043857600080fd5b506064546001600160a01b0316610209565b34801561045657600080fd5b506101e7610465366004612732565b6111b3565b34801561047657600080fd5b5060cd54610209906001600160a01b031681565b34801561049657600080fd5b506104ba6104a53660046125b8565b60c86020526000908152604090205460ff1681565b60405161021d919061276a565b3480156104d357600080fd5b50609654610209906001600160a01b031681565b3480156104f357600080fd5b5061023c6402540be40081565b34801561050c57600080fd5b5060ce54610209906001600160a01b031681565b34801561052c57600080fd5b5060cd5461054290600160a01b900461ffff1681565b60405161ffff909116815260200161021d565b34801561056157600080fd5b5060cb54610209906001600160a01b031681565b34801561058157600080fd5b5060c954610209906001600160a01b031681565b3480156105a157600080fd5b50600054610209906001600160a01b031681565b3480156105c157600080fd5b5060cc54610209906001600160a01b031681565b3480156105e157600080fd5b506101e76105f036600461259b565b611202565b6105fd611292565b60ce546001600160a01b03161561065b5760405162461bcd60e51b815260206004820181905260248201527f4c3220426974636f696e204465706f7369746f7220616c72656164792073657460448201526064015b60405180910390fd5b6001600160a01b0381166106d65760405162461bcd60e51b8152602060048201526024808201527f4c3220426974636f696e204465706f7369746f72206d757374206e6f7420626560448201527f20307830000000000000000000000000000000000000000000000000000000006064820152608401610652565b60ce80546001600160a01b0319166001600160a01b0392909216919091179055565b610700611292565b60cf8190556040518181527f6ed5a3ddedc64e149e68b8bbc09d35489452528ae70487ee4f8832837c5c01059060200160405180910390a150565b60006107bc60ca60009054906101000a90046001600160a01b03166001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b79190612792565b6112ec565b905090565b60005a90506001600083815260c8602052604090205460ff1660028111156107eb576107eb612754565b146108385760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f736974207374617465000000000000000000000000006044820152606401610652565b600082815260c860205260408120805460ff19166002179055808061085c856113a9565b9194509250905033816001600160a01b0316867f94d36bc0d9bf5adbd2dec8bd125b7bf12eecc6e5539fc8f2bd57a831d9995af786866040516108a9929190918252602082015260400190565b60405180910390a46108bb82826115dc565b6096546001600160a01b031615610a7457600085815260d060209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff1691830191909152156109bd57600086815260d0602090815260408083209290925560965490830151835192517f7ad226dc0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201526001600160a01b039283166024820152911690637ad226dc90604401600060405180830381600087803b1580156109a457600080fd5b505af11580156109b8573d6000803e3d6000fd5b505050505b33600090815260d3602052604090205460ff1615610a725760006109e0346119f2565b60965460d2549192506001600160a01b031690637ad226dc90835a610a05908b6127c1565b610a0f91906127d4565b610a1991906127d4565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610a5857600080fd5b505af1158015610a6c573d6000803e3d6000fd5b50505050505b505b5050505050565b610a83611292565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610ac0911515815260200190565b60405180910390a26001600160a01b0391909116600090815260d360205260409020805460ff1916911515919091179055565b60005a90506001600160a01b038216610b4e5760405162461bcd60e51b815260206004820181905260248201527f4c32206465706f736974206f776e6572206d757374206e6f74206265203078306044820152606401610652565b6001600160a01b0382166000610b7b610b66876128a7565b610b753688900388018861297e565b84611b45565b50905060008082815260c8602052604090205460ff166002811115610ba257610ba2612754565b14610bef5760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f736974207374617465000000000000000000000000006044820152606401610652565b600081815260c86020526040808220805460ff191660011790555133916001600160a01b0387169184917f04870363995d5b750bccca9d95e57044d630524aec2ef09ebdb820ac11d866b491a46096546001600160a01b031615801590610c65575033600090815260d3602052604090205460ff165b15610a7257600060d1545a610c7a90866127c1565b610c8491906127d4565b90506bffffffffffffffffffffffff811115610ca35750505050505050565b6040805180820182523381526bffffffffffffffffffffffff9283166020808301918252600095865260d090529190932092519051909116600160a01b026001600160a01b039091161790555050505050565b610cfe611292565b610d086000611cd5565b565b603154610100900460ff1615808015610d2a5750603154600160ff909116105b80610d445750303b158015610d44575060315460ff166001145b610db65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610652565b6031805460ff191660011790558015610dd9576031805461ff0019166101001790555b610de38888611d27565b610deb611e95565b6001600160a01b038616610e415760405162461bcd60e51b815260206004820152601f60248201527f576f726d686f6c6520616464726573732063616e6e6f74206265207a65726f006044820152606401610652565b6001600160a01b038516610ebd5760405162461bcd60e51b815260206004820152602660248201527f576f726d686f6c6552656c6179657220616464726573732063616e6e6f74206260448201527f65207a65726f00000000000000000000000000000000000000000000000000006064820152608401610652565b6001600160a01b038416610f395760405162461bcd60e51b815260206004820152602a60248201527f576f726d686f6c65546f6b656e42726964676520616464726573732063616e6e60448201527f6f74206265207a65726f000000000000000000000000000000000000000000006064820152608401610652565b6001600160a01b038316610fb55760405162461bcd60e51b815260206004820152602860248201527f4c32576f726d686f6c654761746577617920616464726573732063616e6e6f7460448201527f206265207a65726f0000000000000000000000000000000000000000000000006064820152608401610652565b866001600160a01b031663e5d3d7146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110179190612a48565b60c980546001600160a01b03199081166001600160a01b039384161790915560ca8054821689841617905560cb8054821688841617905560cc805490911686831617905560cd80549185167fffffffffffffffffffff0000000000000000000000000000000000000000000090921691909117600160a01b61ffff8516021790556207a12060cf5561ea6060d155614e2060d25580156110f1576031805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6064546001600160a01b031633146111555760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610652565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609680546001600160a01b0319166001600160a01b0392909216919091179055565b6111bb611292565b60d182905560d281905560408051838152602081018390527fb8df1fba472926f296225c210e366f62b21fec23b8e1b6b0a375724798ca9c0a910160405180910390a15050565b61120a611292565b6001600160a01b0381166112865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610652565b61128f81611cd5565b50565b6064546001600160a01b03163314610d085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610652565b60cb5460cd5460cf546040517fc23ee3c3000000000000000000000000000000000000000000000000000000008152600160a01b90920461ffff16600483015260006024830181905260448301919091529182916001600160a01b039091169063c23ee3c3906064016040805180830381865afa158015611371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113959190612a65565b5090506113a283826127d4565b9392505050565b60008054604051630b02c43d60e41b8152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b9190612aa1565b9050806040015163ffffffff166000036114775760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a65640000000000000000006044820152606401610652565b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156114db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ff9190612b54565b9150508160a0015163ffffffff166000141580611525575067ffffffffffffffff811615155b6115975760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610652565b6402540be400826020015167ffffffffffffffff166115b69190612b87565b94506115ca82602001518360800151611f08565b93508160c00151925050509193909250565b6115e58261208d565b9150600082116116375760405162461bcd60e51b815260206004820152601860248201527f416d6f756e7420746f6f206c6f7720746f2062726964676500000000000000006044820152606401610652565b60ca54604080517f1a90a21900000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691631a90a2199160048083019260209291908290030181865afa15801561169a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116be9190612792565b905060006116cb826112ec565b90508034146117425760405162461bcd60e51b815260206004820152602760248201527f5061796d656e7420666f7220576f726d686f6c652052656c617965722069732060448201527f746f6f206c6f77000000000000000000000000000000000000000000000000006064820152608401610652565b60cc5460c95461175f916001600160a01b039182169116866120af565b60cc5460c95460cd546000926001600160a01b039081169263c5a5ebda928792918216918a91600160a01b810461ffff16911660008b6040516020016117a791815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b81526004016117d796959493929190612bee565b60206040518083038185885af11580156117f5573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061181a9190612c3e565b60408051600180825281830190925291925060009190816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181611835575050604080516060810180835260ca547f9a8a05920000000000000000000000000000000000000000000000000000000090915291519293509182916001600160a01b031690639a8a0592906064808501916020918187030181865afa1580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f19190612c59565b61ffff16815260cc546001600160a01b0316602082015267ffffffffffffffff84166040909101528151829060009061192c5761192c612c76565b602090810291909101015260cb546001600160a01b03166332b2fc0e61195286866127c1565b60cd5460ce5460408051602081018252600080825260cf54925160e088901b6001600160e01b03191681526119a695600160a01b900461ffff16946001600160a01b031693908a9086903390600401612c8c565b60206040518083038185885af11580156119c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119e99190612c3e565b50505050505050565b600080609660009054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c9190612792565b90506000609660009054906101000a90046001600160a01b03166001600160a01b031663e25b53456040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae79190612792565b90506000823a10611af85782611afa565b3a5b905080600003611b0f57506000949350505050565b6000611b1b8287612d53565b905080831115611b315750600095945050505050565b611b3b83826127c1565b9695505050505050565b60015460a083015160009182916001600160a01b03908116911614611bac5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610652565b611bbf611bb8866121d0565b8551612210565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529193506001600160a01b0316906386f0143990611c0d90889088908890600401612d75565b600060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b5050600054604051630b02c43d60e41b8152600481018690526402540be40093506001600160a01b03909116915063b02c43d09060240160e060405180830381865afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb39190612aa1565b6020015167ffffffffffffffff16611ccb9190612b87565b9050935093915050565b606480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b0316158015611d4957506001546001600160a01b0316155b611dbb5760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610652565b6001600160a01b038216611e115760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610652565b6001600160a01b038116611e675760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610652565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b603154610100900460ff16611f005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610652565b610d0861225a565b6000806402540be400611f1b8486612e6e565b67ffffffffffffffff16611f2f9190612b87565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faa9190612e96565b63ffffffff1690506000808211611fc2576000611fcc565b611fcc8284612d53565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015612022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120469190612eb3565b509250505060006402540be4008267ffffffffffffffff166120689190612b87565b90508061207584876127c1565b61207f91906127c1565b955050505050505b92915050565b600061209e6402540be40083612d53565b91506120876402540be40083612b87565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015612119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213d9190612792565b61214791906127d4565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790529091506121ca9085906122ce565b50505050565b600061208782600001518360200151846040015185606001516040516020016121fc9493929190612f09565b6040516020818303038152906040526123b8565b6000828260405160200161223b92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b603154610100900460ff166122c55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610652565b610d0833611cd5565b6000612323826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123df9092919063ffffffff16565b8051909150156123b357808060200190518101906123419190612f5d565b6123b35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610652565b505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606123ee84846000856123f6565b949350505050565b60608247101561246e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610652565b600080866001600160a01b0316858760405161248a9190612f7a565b60006040518083038185875af1925050503d80600081146124c7576040519150601f19603f3d011682016040523d82523d6000602084013e6124cc565b606091505b50915091506124dd878383876124e8565b979650505050505050565b60608315612557578251600003612550576001600160a01b0385163b6125505760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610652565b50816123ee565b6123ee838381511561256c5781518083602001fd5b8060405162461bcd60e51b81526004016106529190612f96565b6001600160a01b038116811461128f57600080fd5b6000602082840312156125ad57600080fd5b81356113a281612586565b6000602082840312156125ca57600080fd5b5035919050565b801515811461128f57600080fd5b600080604083850312156125f257600080fd5b82356125fd81612586565b9150602083013561260d816125d1565b809150509250929050565b600080600083850361010081121561262f57600080fd5b843567ffffffffffffffff81111561264657600080fd5b85016080818803121561265857600080fd5b935060c0601f198201121561266c57600080fd5b5060208401915060e084013561268181612586565b809150509250925092565b61ffff8116811461128f57600080fd5b600080600080600080600060e0888a0312156126b757600080fd5b87356126c281612586565b965060208801356126d281612586565b955060408801356126e281612586565b945060608801356126f281612586565b9350608088013561270281612586565b925060a088013561271281612586565b915060c08801356127228161268c565b8091505092959891949750929550565b6000806040838503121561274557600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b602081016003831061278c57634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156127a457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115612087576120876127ab565b80820180821115612087576120876127ab565b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461281557600080fd5b919050565b600082601f83011261282b57600080fd5b813567ffffffffffffffff80821115612846576128466127e7565b604051601f8301601f19908116603f0116810190828211818310171561286e5761286e6127e7565b8160405283815286602085880101111561288757600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000608082360312156128b957600080fd5b6040516080810167ffffffffffffffff82821081831117156128dd576128dd6127e7565b816040526128ea856127fd565b8352602085013591508082111561290057600080fd5b61290c3683870161281a565b6020840152604085013591508082111561292557600080fd5b506129323682860161281a565b604083015250612944606084016127fd565b606082015292915050565b63ffffffff8116811461128f57600080fd5b80356bffffffffffffffffffffffff198116811461281557600080fd5b600060c0828403121561299057600080fd5b60405160c0810181811067ffffffffffffffff821117156129b3576129b36127e7565b60405282356129c18161294f565b815260208301357fffffffffffffffff000000000000000000000000000000000000000000000000811681146129f657600080fd5b6020820152612a0760408401612961565b6040820152612a1860608401612961565b6060820152612a29608084016127fd565b608082015260a0830135612a3c81612586565b60a08201529392505050565b600060208284031215612a5a57600080fd5b81516113a281612586565b60008060408385031215612a7857600080fd5b505080516020909101519092909150565b805167ffffffffffffffff8116811461281557600080fd5b600060e08284031215612ab357600080fd5b60405160e0810181811067ffffffffffffffff82111715612ad657612ad66127e7565b6040528251612ae481612586565b8152612af260208401612a89565b60208201526040830151612b058161294f565b60408201526060830151612b1881612586565b6060820152612b2960808401612a89565b608082015260a0830151612b3c8161294f565b60a082015260c0928301519281019290925250919050565b60008060408385031215612b6757600080fd5b612b7083612a89565b9150612b7e60208401612a89565b90509250929050565b8082028115828204841417612087576120876127ab565b60005b83811015612bb9578181015183820152602001612ba1565b50506000910152565b60008151808452612bda816020860160208601612b9e565b601f01601f19169290920160200192915050565b6001600160a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a08201526000612c3260c0830184612bc2565b98975050505050505050565b600060208284031215612c5057600080fd5b6113a282612a89565b600060208284031215612c6b57600080fd5b81516113a28161268c565b634e487b7160e01b600052603260045260246000fd5b600061010061ffff808c16845260206001600160a01b038c168186015260408381870152612cbc8487018d612bc2565b60608781018d9052608088018c905287820360a08901528a51808352848c019650909184019060005b81811015612d1e578751805188168452868101518785015285015167ffffffffffffffff16858401529685019691830191600101612ce5565b505061ffff8a1660c08901529550612d37945050505050565b6001600160a01b03831660e08301529998505050505050505050565b600082612d7057634e487b7160e01b600052601260045260246000fd5b500490565b60006101008083526001600160e01b03198087511682850152602087015191506080610120850152612dab610180850183612bc2565b9150604087015160ff1985840301610140860152612dc98382612bc2565b9250508060608801511661016085015281925063ffffffff86511660208501527fffffffffffffffff0000000000000000000000000000000000000000000000006020870151166040850152604086015191506bffffffffffffffffffffffff198083166060860152806060880151166080860152508060808701511660a085015250506001600160a01b0360a08501511660c08301528260e0830152949350505050565b67ffffffffffffffff828116828216039080821115612e8f57612e8f6127ab565b5092915050565b600060208284031215612ea857600080fd5b81516113a28161294f565b60008060008060808587031215612ec957600080fd5b612ed285612a89565b9350612ee060208601612a89565b9250612eee60408601612a89565b91506060850151612efe8161294f565b939692955090935050565b60006001600160e01b031980871683528551612f2c816004860160208a01612b9e565b855190840190612f43816004840160208a01612b9e565b919094169301600481019390935250506008019392505050565b600060208284031215612f6f57600080fd5b81516113a2816125d1565b60008251612f8c818460208701612b9e565b9190910192915050565b6020815260006113a26020830184612bc256fea2646970667358221220627bb9166254a3025b549aa84e4c32926adbfb9cb76739ee3132b73e32bc04ec64736f6c63430008110033",
669
- "deployedBytecode": "0x6080604052600436106101c25760003560e01c80637c9e9ffb116100f7578063c7ba034711610095578063e5d3d71411610064578063e5d3d71414610575578063e78cea9214610595578063f11df69d146105b5578063f2fde38b146105d557600080fd5b8063c7ba0347146104e7578063c81ef16814610500578063d6ae3cd514610520578063da25b7251461055557600080fd5b80639e0e4e2f116100d15780639e0e4e2f1461044a578063aa82e33b1461046a578063b02c43d01461048a578063c09975cd146104c757600080fd5b80637c9e9ffb1461039357806384acd1bb1461040c5780638da5cb5b1461042c57600080fd5b806360ec23dd11610164578063715018a61161013e578063715018a614610328578063715468311461033d57806371c654ee146103535780637b35b4e61461037357600080fd5b806360ec23dd146102a8578063642dc033146102c857806366b58a01146102e857600080fd5b80631159bef0116101a05780631159bef01461024a57806313b38cce1461026a57806327ce36c61461027f57806346d9d49a1461029557600080fd5b80630515f0c1146101c75780630f36403a146101e95780630fa1ba4414610226575b600080fd5b3480156101d357600080fd5b506101e76101e236600461259b565b6105f5565b005b3480156101f557600080fd5b50600154610209906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561023257600080fd5b5061023c60d25481565b60405190815260200161021d565b34801561025657600080fd5b506101e76102653660046125b8565b6106f8565b34801561027657600080fd5b5061023c61073b565b34801561028b57600080fd5b5061023c60d15481565b6101e76102a33660046125b8565b6107c1565b3480156102b457600080fd5b506101e76102c33660046125df565b610a7b565b3480156102d457600080fd5b506101e76102e3366004612618565b610af3565b3480156102f457600080fd5b5061031861030336600461259b565b60d36020526000908152604090205460ff1681565b604051901515815260200161021d565b34801561033457600080fd5b506101e7610cf6565b34801561034957600080fd5b5061023c60cf5481565b34801561035f57600080fd5b506101e761036e36600461269c565b610d0a565b34801561037f57600080fd5b506101e761038e36600461259b565b6110fb565b34801561039f57600080fd5b506103e06103ae3660046125b8565b60d0602052600090815260409020546001600160a01b03811690600160a01b90046bffffffffffffffffffffffff1682565b604080516001600160a01b0390931683526bffffffffffffffffffffffff90911660208301520161021d565b34801561041857600080fd5b5060ca54610209906001600160a01b031681565b34801561043857600080fd5b506064546001600160a01b0316610209565b34801561045657600080fd5b506101e7610465366004612732565b6111b3565b34801561047657600080fd5b5060cd54610209906001600160a01b031681565b34801561049657600080fd5b506104ba6104a53660046125b8565b60c86020526000908152604090205460ff1681565b60405161021d919061276a565b3480156104d357600080fd5b50609654610209906001600160a01b031681565b3480156104f357600080fd5b5061023c6402540be40081565b34801561050c57600080fd5b5060ce54610209906001600160a01b031681565b34801561052c57600080fd5b5060cd5461054290600160a01b900461ffff1681565b60405161ffff909116815260200161021d565b34801561056157600080fd5b5060cb54610209906001600160a01b031681565b34801561058157600080fd5b5060c954610209906001600160a01b031681565b3480156105a157600080fd5b50600054610209906001600160a01b031681565b3480156105c157600080fd5b5060cc54610209906001600160a01b031681565b3480156105e157600080fd5b506101e76105f036600461259b565b611202565b6105fd611292565b60ce546001600160a01b03161561065b5760405162461bcd60e51b815260206004820181905260248201527f4c3220426974636f696e204465706f7369746f7220616c72656164792073657460448201526064015b60405180910390fd5b6001600160a01b0381166106d65760405162461bcd60e51b8152602060048201526024808201527f4c3220426974636f696e204465706f7369746f72206d757374206e6f7420626560448201527f20307830000000000000000000000000000000000000000000000000000000006064820152608401610652565b60ce80546001600160a01b0319166001600160a01b0392909216919091179055565b610700611292565b60cf8190556040518181527f6ed5a3ddedc64e149e68b8bbc09d35489452528ae70487ee4f8832837c5c01059060200160405180910390a150565b60006107bc60ca60009054906101000a90046001600160a01b03166001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b79190612792565b6112ec565b905090565b60005a90506001600083815260c8602052604090205460ff1660028111156107eb576107eb612754565b146108385760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f736974207374617465000000000000000000000000006044820152606401610652565b600082815260c860205260408120805460ff19166002179055808061085c856113a9565b9194509250905033816001600160a01b0316867f94d36bc0d9bf5adbd2dec8bd125b7bf12eecc6e5539fc8f2bd57a831d9995af786866040516108a9929190918252602082015260400190565b60405180910390a46108bb82826115dc565b6096546001600160a01b031615610a7457600085815260d060209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff1691830191909152156109bd57600086815260d0602090815260408083209290925560965490830151835192517f7ad226dc0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201526001600160a01b039283166024820152911690637ad226dc90604401600060405180830381600087803b1580156109a457600080fd5b505af11580156109b8573d6000803e3d6000fd5b505050505b33600090815260d3602052604090205460ff1615610a725760006109e0346119f2565b60965460d2549192506001600160a01b031690637ad226dc90835a610a05908b6127c1565b610a0f91906127d4565b610a1991906127d4565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610a5857600080fd5b505af1158015610a6c573d6000803e3d6000fd5b50505050505b505b5050505050565b610a83611292565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610ac0911515815260200190565b60405180910390a26001600160a01b0391909116600090815260d360205260409020805460ff1916911515919091179055565b60005a90506001600160a01b038216610b4e5760405162461bcd60e51b815260206004820181905260248201527f4c32206465706f736974206f776e6572206d757374206e6f74206265203078306044820152606401610652565b6001600160a01b0382166000610b7b610b66876128a7565b610b753688900388018861297e565b84611b45565b50905060008082815260c8602052604090205460ff166002811115610ba257610ba2612754565b14610bef5760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f736974207374617465000000000000000000000000006044820152606401610652565b600081815260c86020526040808220805460ff191660011790555133916001600160a01b0387169184917f04870363995d5b750bccca9d95e57044d630524aec2ef09ebdb820ac11d866b491a46096546001600160a01b031615801590610c65575033600090815260d3602052604090205460ff165b15610a7257600060d1545a610c7a90866127c1565b610c8491906127d4565b90506bffffffffffffffffffffffff811115610ca35750505050505050565b6040805180820182523381526bffffffffffffffffffffffff9283166020808301918252600095865260d090529190932092519051909116600160a01b026001600160a01b039091161790555050505050565b610cfe611292565b610d086000611cd5565b565b603154610100900460ff1615808015610d2a5750603154600160ff909116105b80610d445750303b158015610d44575060315460ff166001145b610db65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610652565b6031805460ff191660011790558015610dd9576031805461ff0019166101001790555b610de38888611d27565b610deb611e95565b6001600160a01b038616610e415760405162461bcd60e51b815260206004820152601f60248201527f576f726d686f6c6520616464726573732063616e6e6f74206265207a65726f006044820152606401610652565b6001600160a01b038516610ebd5760405162461bcd60e51b815260206004820152602660248201527f576f726d686f6c6552656c6179657220616464726573732063616e6e6f74206260448201527f65207a65726f00000000000000000000000000000000000000000000000000006064820152608401610652565b6001600160a01b038416610f395760405162461bcd60e51b815260206004820152602a60248201527f576f726d686f6c65546f6b656e42726964676520616464726573732063616e6e60448201527f6f74206265207a65726f000000000000000000000000000000000000000000006064820152608401610652565b6001600160a01b038316610fb55760405162461bcd60e51b815260206004820152602860248201527f4c32576f726d686f6c654761746577617920616464726573732063616e6e6f7460448201527f206265207a65726f0000000000000000000000000000000000000000000000006064820152608401610652565b866001600160a01b031663e5d3d7146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110179190612a48565b60c980546001600160a01b03199081166001600160a01b039384161790915560ca8054821689841617905560cb8054821688841617905560cc805490911686831617905560cd80549185167fffffffffffffffffffff0000000000000000000000000000000000000000000090921691909117600160a01b61ffff8516021790556207a12060cf5561ea6060d155614e2060d25580156110f1576031805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6064546001600160a01b031633146111555760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610652565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609680546001600160a01b0319166001600160a01b0392909216919091179055565b6111bb611292565b60d182905560d281905560408051838152602081018390527fb8df1fba472926f296225c210e366f62b21fec23b8e1b6b0a375724798ca9c0a910160405180910390a15050565b61120a611292565b6001600160a01b0381166112865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610652565b61128f81611cd5565b50565b6064546001600160a01b03163314610d085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610652565b60cb5460cd5460cf546040517fc23ee3c3000000000000000000000000000000000000000000000000000000008152600160a01b90920461ffff16600483015260006024830181905260448301919091529182916001600160a01b039091169063c23ee3c3906064016040805180830381865afa158015611371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113959190612a65565b5090506113a283826127d4565b9392505050565b60008054604051630b02c43d60e41b8152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b9190612aa1565b9050806040015163ffffffff166000036114775760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a65640000000000000000006044820152606401610652565b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af11580156114db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ff9190612b54565b9150508160a0015163ffffffff166000141580611525575067ffffffffffffffff811615155b6115975760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f64676500000000000000000000000000000000000000000000000000000000006064820152608401610652565b6402540be400826020015167ffffffffffffffff166115b69190612b87565b94506115ca82602001518360800151611f08565b93508160c00151925050509193909250565b6115e58261208d565b9150600082116116375760405162461bcd60e51b815260206004820152601860248201527f416d6f756e7420746f6f206c6f7720746f2062726964676500000000000000006044820152606401610652565b60ca54604080517f1a90a21900000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691631a90a2199160048083019260209291908290030181865afa15801561169a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116be9190612792565b905060006116cb826112ec565b90508034146117425760405162461bcd60e51b815260206004820152602760248201527f5061796d656e7420666f7220576f726d686f6c652052656c617965722069732060448201527f746f6f206c6f77000000000000000000000000000000000000000000000000006064820152608401610652565b60cc5460c95461175f916001600160a01b039182169116866120af565b60cc5460c95460cd546000926001600160a01b039081169263c5a5ebda928792918216918a91600160a01b810461ffff16911660008b6040516020016117a791815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b81526004016117d796959493929190612bee565b60206040518083038185885af11580156117f5573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061181a9190612c3e565b60408051600180825281830190925291925060009190816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181611835575050604080516060810180835260ca547f9a8a05920000000000000000000000000000000000000000000000000000000090915291519293509182916001600160a01b031690639a8a0592906064808501916020918187030181865afa1580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f19190612c59565b61ffff16815260cc546001600160a01b0316602082015267ffffffffffffffff84166040909101528151829060009061192c5761192c612c76565b602090810291909101015260cb546001600160a01b03166332b2fc0e61195286866127c1565b60cd5460ce5460408051602081018252600080825260cf54925160e088901b6001600160e01b03191681526119a695600160a01b900461ffff16946001600160a01b031693908a9086903390600401612c8c565b60206040518083038185885af11580156119c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119e99190612c3e565b50505050505050565b600080609660009054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c9190612792565b90506000609660009054906101000a90046001600160a01b03166001600160a01b031663e25b53456040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae79190612792565b90506000823a10611af85782611afa565b3a5b905080600003611b0f57506000949350505050565b6000611b1b8287612d53565b905080831115611b315750600095945050505050565b611b3b83826127c1565b9695505050505050565b60015460a083015160009182916001600160a01b03908116911614611bac5760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d61746368000000000000000000006044820152606401610652565b611bbf611bb8866121d0565b8551612210565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529193506001600160a01b0316906386f0143990611c0d90889088908890600401612d75565b600060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b5050600054604051630b02c43d60e41b8152600481018690526402540be40093506001600160a01b03909116915063b02c43d09060240160e060405180830381865afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb39190612aa1565b6020015167ffffffffffffffff16611ccb9190612b87565b9050935093915050565b606480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b0316158015611d4957506001546001600160a01b0316155b611dbb5760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a656400000000000000000000000000000000000000000000006064820152608401610652565b6001600160a01b038216611e115760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610652565b6001600160a01b038116611e675760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610652565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b603154610100900460ff16611f005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610652565b610d0861225a565b6000806402540be400611f1b8486612e6e565b67ffffffffffffffff16611f2f9190612b87565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611faa9190612e96565b63ffffffff1690506000808211611fc2576000611fcc565b611fcc8284612d53565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015612022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120469190612eb3565b509250505060006402540be4008267ffffffffffffffff166120689190612b87565b90508061207584876127c1565b61207f91906127c1565b955050505050505b92915050565b600061209e6402540be40083612d53565b91506120876402540be40083612b87565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015612119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213d9190612792565b61214791906127d4565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790529091506121ca9085906122ce565b50505050565b600061208782600001518360200151846040015185606001516040516020016121fc9493929190612f09565b6040516020818303038152906040526123b8565b6000828260405160200161223b92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b603154610100900460ff166122c55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610652565b610d0833611cd5565b6000612323826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123df9092919063ffffffff16565b8051909150156123b357808060200190518101906123419190612f5d565b6123b35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610652565b505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606123ee84846000856123f6565b949350505050565b60608247101561246e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610652565b600080866001600160a01b0316858760405161248a9190612f7a565b60006040518083038185875af1925050503d80600081146124c7576040519150601f19603f3d011682016040523d82523d6000602084013e6124cc565b606091505b50915091506124dd878383876124e8565b979650505050505050565b60608315612557578251600003612550576001600160a01b0385163b6125505760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610652565b50816123ee565b6123ee838381511561256c5781518083602001fd5b8060405162461bcd60e51b81526004016106529190612f96565b6001600160a01b038116811461128f57600080fd5b6000602082840312156125ad57600080fd5b81356113a281612586565b6000602082840312156125ca57600080fd5b5035919050565b801515811461128f57600080fd5b600080604083850312156125f257600080fd5b82356125fd81612586565b9150602083013561260d816125d1565b809150509250929050565b600080600083850361010081121561262f57600080fd5b843567ffffffffffffffff81111561264657600080fd5b85016080818803121561265857600080fd5b935060c0601f198201121561266c57600080fd5b5060208401915060e084013561268181612586565b809150509250925092565b61ffff8116811461128f57600080fd5b600080600080600080600060e0888a0312156126b757600080fd5b87356126c281612586565b965060208801356126d281612586565b955060408801356126e281612586565b945060608801356126f281612586565b9350608088013561270281612586565b925060a088013561271281612586565b915060c08801356127228161268c565b8091505092959891949750929550565b6000806040838503121561274557600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b602081016003831061278c57634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156127a457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115612087576120876127ab565b80820180821115612087576120876127ab565b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461281557600080fd5b919050565b600082601f83011261282b57600080fd5b813567ffffffffffffffff80821115612846576128466127e7565b604051601f8301601f19908116603f0116810190828211818310171561286e5761286e6127e7565b8160405283815286602085880101111561288757600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000608082360312156128b957600080fd5b6040516080810167ffffffffffffffff82821081831117156128dd576128dd6127e7565b816040526128ea856127fd565b8352602085013591508082111561290057600080fd5b61290c3683870161281a565b6020840152604085013591508082111561292557600080fd5b506129323682860161281a565b604083015250612944606084016127fd565b606082015292915050565b63ffffffff8116811461128f57600080fd5b80356bffffffffffffffffffffffff198116811461281557600080fd5b600060c0828403121561299057600080fd5b60405160c0810181811067ffffffffffffffff821117156129b3576129b36127e7565b60405282356129c18161294f565b815260208301357fffffffffffffffff000000000000000000000000000000000000000000000000811681146129f657600080fd5b6020820152612a0760408401612961565b6040820152612a1860608401612961565b6060820152612a29608084016127fd565b608082015260a0830135612a3c81612586565b60a08201529392505050565b600060208284031215612a5a57600080fd5b81516113a281612586565b60008060408385031215612a7857600080fd5b505080516020909101519092909150565b805167ffffffffffffffff8116811461281557600080fd5b600060e08284031215612ab357600080fd5b60405160e0810181811067ffffffffffffffff82111715612ad657612ad66127e7565b6040528251612ae481612586565b8152612af260208401612a89565b60208201526040830151612b058161294f565b60408201526060830151612b1881612586565b6060820152612b2960808401612a89565b608082015260a0830151612b3c8161294f565b60a082015260c0928301519281019290925250919050565b60008060408385031215612b6757600080fd5b612b7083612a89565b9150612b7e60208401612a89565b90509250929050565b8082028115828204841417612087576120876127ab565b60005b83811015612bb9578181015183820152602001612ba1565b50506000910152565b60008151808452612bda816020860160208601612b9e565b601f01601f19169290920160200192915050565b6001600160a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a08201526000612c3260c0830184612bc2565b98975050505050505050565b600060208284031215612c5057600080fd5b6113a282612a89565b600060208284031215612c6b57600080fd5b81516113a28161268c565b634e487b7160e01b600052603260045260246000fd5b600061010061ffff808c16845260206001600160a01b038c168186015260408381870152612cbc8487018d612bc2565b60608781018d9052608088018c905287820360a08901528a51808352848c019650909184019060005b81811015612d1e578751805188168452868101518785015285015167ffffffffffffffff16858401529685019691830191600101612ce5565b505061ffff8a1660c08901529550612d37945050505050565b6001600160a01b03831660e08301529998505050505050505050565b600082612d7057634e487b7160e01b600052601260045260246000fd5b500490565b60006101008083526001600160e01b03198087511682850152602087015191506080610120850152612dab610180850183612bc2565b9150604087015160ff1985840301610140860152612dc98382612bc2565b9250508060608801511661016085015281925063ffffffff86511660208501527fffffffffffffffff0000000000000000000000000000000000000000000000006020870151166040850152604086015191506bffffffffffffffffffffffff198083166060860152806060880151166080860152508060808701511660a085015250506001600160a01b0360a08501511660c08301528260e0830152949350505050565b67ffffffffffffffff828116828216039080821115612e8f57612e8f6127ab565b5092915050565b600060208284031215612ea857600080fd5b81516113a28161294f565b60008060008060808587031215612ec957600080fd5b612ed285612a89565b9350612ee060208601612a89565b9250612eee60408601612a89565b91506060850151612efe8161294f565b939692955090935050565b60006001600160e01b031980871683528551612f2c816004860160208a01612b9e565b855190840190612f43816004840160208a01612b9e565b919094169301600481019390935250506008019392505050565b600060208284031215612f6f57600080fd5b81516113a2816125d1565b60008251612f8c818460208701612b9e565b9190910192915050565b6020815260006113a26020830184612bc256fea2646970667358221220627bb9166254a3025b549aa84e4c32926adbfb9cb76739ee3132b73e32bc04ec64736f6c63430008110033",
707
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b603154610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60315460ff9081161015620000e2576031805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61315780620000f46000396000f3fe6080604052600436106101d85760003560e01c80637c9e9ffb11610102578063c81ef16811610095578063e78cea9211610064578063e78cea92146105c5578063f11df69d146105e5578063f2fde38b14610605578063fe012b9b1461062557600080fd5b8063c81ef16814610530578063d6ae3cd514610550578063da25b72514610585578063e5d3d714146105a557600080fd5b8063aa82e33b116100d1578063aa82e33b1461049a578063b02c43d0146104ba578063c09975cd146104f7578063c7ba03471461051757600080fd5b80637c9e9ffb146103c357806384acd1bb1461043c5780638da5cb5b1461045c5780639e0e4e2f1461047a57600080fd5b806360ec23dd1161017a5780637154683111610149578063715468311461035357806371c654ee146103695780637b35b4e6146103895780637be04b6a146103a957600080fd5b806360ec23dd146102be578063642dc033146102de57806366b58a01146102fe578063715018a61461033e57600080fd5b80631159bef0116101b65780631159bef01461026057806313b38cce1461028057806327ce36c61461029557806346d9d49a146102ab57600080fd5b80630515f0c1146101dd5780630f36403a146101ff5780630fa1ba441461023c575b600080fd5b3480156101e957600080fd5b506101fd6101f83660046126f6565b610645565b005b34801561020b57600080fd5b5060015461021f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024857600080fd5b5061025260d25481565b604051908152602001610233565b34801561026c57600080fd5b506101fd61027b366004612713565b610748565b34801561028c57600080fd5b5061025261078c565b3480156102a157600080fd5b5061025260d15481565b6101fd6102b9366004612713565b610812565b3480156102ca57600080fd5b506101fd6102d936600461273a565b610b83565b3480156102ea57600080fd5b506101fd6102f9366004612773565b610bfb565b34801561030a57600080fd5b5061032e6103193660046126f6565b60d36020526000908152604090205460ff1681565b6040519015158152602001610233565b34801561034a57600080fd5b506101fd610dfe565b34801561035f57600080fd5b5061025260cf5481565b34801561037557600080fd5b506101fd6103843660046127f7565b610e12565b34801561039557600080fd5b506101fd6103a43660046126f6565b61120d565b3480156103b557600080fd5b5060d45461032e9060ff1681565b3480156103cf57600080fd5b506104106103de366004612713565b60d0602052600090815260409020546001600160a01b03811690600160a01b90046bffffffffffffffffffffffff1682565b604080516001600160a01b0390931683526bffffffffffffffffffffffff909116602083015201610233565b34801561044857600080fd5b5060ca5461021f906001600160a01b031681565b34801561046857600080fd5b506064546001600160a01b031661021f565b34801561048657600080fd5b506101fd61049536600461288d565b6112c5565b3480156104a657600080fd5b5060cd5461021f906001600160a01b031681565b3480156104c657600080fd5b506104ea6104d5366004612713565b60c86020526000908152604090205460ff1681565b60405161023391906128c5565b34801561050357600080fd5b5060965461021f906001600160a01b031681565b34801561052357600080fd5b506102526402540be40081565b34801561053c57600080fd5b5060ce5461021f906001600160a01b031681565b34801561055c57600080fd5b5060cd5461057290600160a01b900461ffff1681565b60405161ffff9091168152602001610233565b34801561059157600080fd5b5060cb5461021f906001600160a01b031681565b3480156105b157600080fd5b5060c95461021f906001600160a01b031681565b3480156105d157600080fd5b5060005461021f906001600160a01b031681565b3480156105f157600080fd5b5060cc5461021f906001600160a01b031681565b34801561061157600080fd5b506101fd6106203660046126f6565b611314565b34801561063157600080fd5b506101fd6106403660046128ed565b6113a4565b61064d6113ed565b60ce546001600160a01b0316156106ab5760405162461bcd60e51b815260206004820181905260248201527f4c3220426974636f696e204465706f7369746f7220616c72656164792073657460448201526064015b60405180910390fd5b6001600160a01b0381166107265760405162461bcd60e51b8152602060048201526024808201527f4c3220426974636f696e204465706f7369746f72206d757374206e6f7420626560448201527f203078300000000000000000000000000000000000000000000000000000000060648201526084016106a2565b60ce80546001600160a01b0319166001600160a01b0392909216919091179055565b6107506113ed565b60cf8190556040518181527f6ed5a3ddedc64e149e68b8bbc09d35489452528ae70487ee4f8832837c5c0105906020015b60405180910390a150565b600061080d60ca60009054906101000a90046001600160a01b03166001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610808919061290a565b611447565b905090565b60005a90506001600083815260c8602052604090205460ff16600281111561083c5761083c6128af565b146108895760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f7369742073746174650000000000000000000000000060448201526064016106a2565b600082815260c860205260408120805460ff1916600217905580806108ad85611504565b60d454929550909350915060ff161561096b5760008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109389190612952565b509250505060006402540be4008267ffffffffffffffff1661095a91906129be565b905061096681856129d5565b935050505b33816001600160a01b0316867f94d36bc0d9bf5adbd2dec8bd125b7bf12eecc6e5539fc8f2bd57a831d9995af786866040516109b1929190918252602082015260400190565b60405180910390a46109c38282611737565b6096546001600160a01b031615610b7c57600085815260d060209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff169183019190915215610ac557600086815260d0602090815260408083209290925560965490830151835192517f7ad226dc0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201526001600160a01b039283166024820152911690637ad226dc90604401600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b505050505b33600090815260d3602052604090205460ff1615610b7a576000610ae834611b4d565b60965460d2549192506001600160a01b031690637ad226dc90835a610b0d908b6129e8565b610b1791906129d5565b610b2191906129d5565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b50505050505b505b5050505050565b610b8b6113ed565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610bc8911515815260200190565b60405180910390a26001600160a01b0391909116600090815260d360205260409020805460ff1916911515919091179055565b60005a90506001600160a01b038216610c565760405162461bcd60e51b815260206004820181905260248201527f4c32206465706f736974206f776e6572206d757374206e6f742062652030783060448201526064016106a2565b6001600160a01b0382166000610c83610c6e87612ab6565b610c7d36889003880188612b7b565b84611ca0565b50905060008082815260c8602052604090205460ff166002811115610caa57610caa6128af565b14610cf75760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f7369742073746174650000000000000000000000000060448201526064016106a2565b600081815260c86020526040808220805460ff191660011790555133916001600160a01b0387169184917f04870363995d5b750bccca9d95e57044d630524aec2ef09ebdb820ac11d866b491a46096546001600160a01b031615801590610d6d575033600090815260d3602052604090205460ff165b15610b7a57600060d1545a610d8290866129e8565b610d8c91906129d5565b90506bffffffffffffffffffffffff811115610dab5750505050505050565b6040805180820182523381526bffffffffffffffffffffffff9283166020808301918252600095865260d090529190932092519051909116600160a01b026001600160a01b039091161790555050505050565b610e066113ed565b610e106000611e30565b565b603154610100900460ff1615808015610e325750603154600160ff909116105b80610e4c5750303b158015610e4c575060315460ff166001145b610ebe5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b6031805460ff191660011790558015610ee1576031805461ff0019166101001790555b610eeb8888611e82565b610ef3611ff0565b6001600160a01b038616610f495760405162461bcd60e51b815260206004820152601f60248201527f576f726d686f6c6520616464726573732063616e6e6f74206265207a65726f0060448201526064016106a2565b6001600160a01b038516610fc55760405162461bcd60e51b815260206004820152602660248201527f576f726d686f6c6552656c6179657220616464726573732063616e6e6f74206260448201527f65207a65726f000000000000000000000000000000000000000000000000000060648201526084016106a2565b6001600160a01b0384166110415760405162461bcd60e51b815260206004820152602a60248201527f576f726d686f6c65546f6b656e42726964676520616464726573732063616e6e60448201527f6f74206265207a65726f0000000000000000000000000000000000000000000060648201526084016106a2565b6001600160a01b0383166110bd5760405162461bcd60e51b815260206004820152602860248201527f4c32576f726d686f6c654761746577617920616464726573732063616e6e6f7460448201527f206265207a65726f00000000000000000000000000000000000000000000000060648201526084016106a2565b866001600160a01b031663e5d3d7146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111f9190612c45565b60c980546001600160a01b03199081166001600160a01b039384161790915560ca8054821689841617905560cb8054821688841617905560cc805490911686831617905560cd80549185167fffffffffffffffffffff0000000000000000000000000000000000000000000090921691909117600160a01b61ffff8516021790556207a12060cf5561ea6060d155614e2060d25560d4805460ff191690558015611203576031805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6064546001600160a01b031633146112675760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016106a2565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609680546001600160a01b0319166001600160a01b0392909216919091179055565b6112cd6113ed565b60d182905560d281905560408051838152602081018390527fb8df1fba472926f296225c210e366f62b21fec23b8e1b6b0a375724798ca9c0a910160405180910390a15050565b61131c6113ed565b6001600160a01b0381166113985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106a2565b6113a181611e30565b50565b6113ac6113ed565b60d4805460ff19168215159081179091556040519081527f6dcf7dd477751916b5aa15e99f6f3008aa5fa398339c3abd2d92eaaf13b3578790602001610781565b6064546001600160a01b03163314610e105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106a2565b60cb5460cd5460cf546040517fc23ee3c3000000000000000000000000000000000000000000000000000000008152600160a01b90920461ffff16600483015260006024830181905260448301919091529182916001600160a01b039091169063c23ee3c3906064016040805180830381865afa1580156114cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f09190612c62565b5090506114fd83826129d5565b9392505050565b60008054604051630b02c43d60e41b8152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa158015611552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115769190612c86565b9050806040015163ffffffff166000036115d25760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064016106a2565b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af1158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190612d39565b9150508160a0015163ffffffff166000141580611680575067ffffffffffffffff811615155b6116f25760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f646765000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b6402540be400826020015167ffffffffffffffff1661171191906129be565b945061172582602001518360800151612063565b93508160c00151925050509193909250565b611740826121e8565b9150600082116117925760405162461bcd60e51b815260206004820152601860248201527f416d6f756e7420746f6f206c6f7720746f20627269646765000000000000000060448201526064016106a2565b60ca54604080517f1a90a21900000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691631a90a2199160048083019260209291908290030181865afa1580156117f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611819919061290a565b9050600061182682611447565b905080341461189d5760405162461bcd60e51b815260206004820152602760248201527f5061796d656e7420666f7220576f726d686f6c652052656c617965722069732060448201527f746f6f206c6f770000000000000000000000000000000000000000000000000060648201526084016106a2565b60cc5460c9546118ba916001600160a01b0391821691168661220a565b60cc5460c95460cd546000926001600160a01b039081169263c5a5ebda928792918216918a91600160a01b810461ffff16911660008b60405160200161190291815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b815260040161193296959493929190612dbc565b60206040518083038185885af1158015611950573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119759190612e0c565b60408051600180825281830190925291925060009190816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181611990575050604080516060810180835260ca547f9a8a05920000000000000000000000000000000000000000000000000000000090915291519293509182916001600160a01b031690639a8a0592906064808501916020918187030181865afa158015611a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4c9190612e27565b61ffff16815260cc546001600160a01b0316602082015267ffffffffffffffff841660409091015281518290600090611a8757611a87612e44565b602090810291909101015260cb546001600160a01b03166332b2fc0e611aad86866129e8565b60cd5460ce5460408051602081018252600080825260cf54925160e088901b6001600160e01b0319168152611b0195600160a01b900461ffff16946001600160a01b031693908a9086903390600401612e5a565b60206040518083038185885af1158015611b1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b449190612e0c565b50505050505050565b600080609660009054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc7919061290a565b90506000609660009054906101000a90046001600160a01b03166001600160a01b031663e25b53456040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c42919061290a565b90506000823a10611c535782611c55565b3a5b905080600003611c6a57506000949350505050565b6000611c768287612f21565b905080831115611c8c5750600095945050505050565b611c9683826129e8565b9695505050505050565b60015460a083015160009182916001600160a01b03908116911614611d075760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d617463680000000000000000000060448201526064016106a2565b611d1a611d138661232b565b855161236b565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529193506001600160a01b0316906386f0143990611d6890889088908890600401612f43565b600060405180830381600087803b158015611d8257600080fd5b505af1158015611d96573d6000803e3d6000fd5b5050600054604051630b02c43d60e41b8152600481018690526402540be40093506001600160a01b03909116915063b02c43d09060240160e060405180830381865afa158015611dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612c86565b6020015167ffffffffffffffff16611e2691906129be565b9050935093915050565b606480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b0316158015611ea457506001546001600160a01b0316155b611f165760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a6564000000000000000000000000000000000000000000000060648201526084016106a2565b6001600160a01b038216611f6c5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f00000060448201526064016106a2565b6001600160a01b038116611fc25760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f60448201526064016106a2565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b603154610100900460ff1661205b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106a2565b610e106123b5565b6000806402540be400612076848661303c565b67ffffffffffffffff1661208a91906129be565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121059190613064565b63ffffffff169050600080821161211d576000612127565b6121278284612f21565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa15801561217d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a19190612952565b509250505060006402540be4008267ffffffffffffffff166121c391906129be565b9050806121d084876129e8565b6121da91906129e8565b955050505050505b92915050565b60006121f96402540be40083612f21565b91506121e26402540be400836129be565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015612274573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612298919061290a565b6122a291906129d5565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052909150612325908590612429565b50505050565b60006121e282600001518360200151846040015185606001516040516020016123579493929190613081565b604051602081830303815290604052612513565b6000828260405160200161239692919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b603154610100900460ff166124205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106a2565b610e1033611e30565b600061247e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661253a9092919063ffffffff16565b80519091501561250e578080602001905181019061249c91906130d5565b61250e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106a2565b505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606125498484600085612551565b949350505050565b6060824710156125c95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106a2565b600080866001600160a01b031685876040516125e591906130f2565b60006040518083038185875af1925050503d8060008114612622576040519150601f19603f3d011682016040523d82523d6000602084013e612627565b606091505b509150915061263887838387612643565b979650505050505050565b606083156126b25782516000036126ab576001600160a01b0385163b6126ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081612549565b61254983838151156126c75781518083602001fd5b8060405162461bcd60e51b81526004016106a2919061310e565b6001600160a01b03811681146113a157600080fd5b60006020828403121561270857600080fd5b81356114fd816126e1565b60006020828403121561272557600080fd5b5035919050565b80151581146113a157600080fd5b6000806040838503121561274d57600080fd5b8235612758816126e1565b915060208301356127688161272c565b809150509250929050565b600080600083850361010081121561278a57600080fd5b843567ffffffffffffffff8111156127a157600080fd5b8501608081880312156127b357600080fd5b935060c0601f19820112156127c757600080fd5b5060208401915060e08401356127dc816126e1565b809150509250925092565b61ffff811681146113a157600080fd5b600080600080600080600060e0888a03121561281257600080fd5b873561281d816126e1565b9650602088013561282d816126e1565b9550604088013561283d816126e1565b9450606088013561284d816126e1565b9350608088013561285d816126e1565b925060a088013561286d816126e1565b915060c088013561287d816127e7565b8091505092959891949750929550565b600080604083850312156128a057600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b60208101600383106128e757634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156128ff57600080fd5b81356114fd8161272c565b60006020828403121561291c57600080fd5b5051919050565b805167ffffffffffffffff8116811461293b57600080fd5b919050565b63ffffffff811681146113a157600080fd5b6000806000806080858703121561296857600080fd5b61297185612923565b935061297f60208601612923565b925061298d60408601612923565b9150606085015161299d81612940565b939692955090935050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176121e2576121e26129a8565b808201808211156121e2576121e26129a8565b818103818111156121e2576121e26129a8565b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461293b57600080fd5b600082601f830112612a3a57600080fd5b813567ffffffffffffffff80821115612a5557612a556129fb565b604051601f8301601f19908116603f01168101908282118183101715612a7d57612a7d6129fb565b81604052838152866020858801011115612a9657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060808236031215612ac857600080fd5b6040516080810167ffffffffffffffff8282108183111715612aec57612aec6129fb565b81604052612af985612a11565b83526020850135915080821115612b0f57600080fd5b612b1b36838701612a29565b60208401526040850135915080821115612b3457600080fd5b50612b4136828601612a29565b604083015250612b5360608401612a11565b606082015292915050565b80356bffffffffffffffffffffffff198116811461293b57600080fd5b600060c08284031215612b8d57600080fd5b60405160c0810181811067ffffffffffffffff82111715612bb057612bb06129fb565b6040528235612bbe81612940565b815260208301357fffffffffffffffff00000000000000000000000000000000000000000000000081168114612bf357600080fd5b6020820152612c0460408401612b5e565b6040820152612c1560608401612b5e565b6060820152612c2660808401612a11565b608082015260a0830135612c39816126e1565b60a08201529392505050565b600060208284031215612c5757600080fd5b81516114fd816126e1565b60008060408385031215612c7557600080fd5b505080516020909101519092909150565b600060e08284031215612c9857600080fd5b60405160e0810181811067ffffffffffffffff82111715612cbb57612cbb6129fb565b6040528251612cc9816126e1565b8152612cd760208401612923565b60208201526040830151612cea81612940565b60408201526060830151612cfd816126e1565b6060820152612d0e60808401612923565b608082015260a0830151612d2181612940565b60a082015260c0928301519281019290925250919050565b60008060408385031215612d4c57600080fd5b612d5583612923565b9150612d6360208401612923565b90509250929050565b60005b83811015612d87578181015183820152602001612d6f565b50506000910152565b60008151808452612da8816020860160208601612d6c565b601f01601f19169290920160200192915050565b6001600160a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a08201526000612e0060c0830184612d90565b98975050505050505050565b600060208284031215612e1e57600080fd5b6114fd82612923565b600060208284031215612e3957600080fd5b81516114fd816127e7565b634e487b7160e01b600052603260045260246000fd5b600061010061ffff808c16845260206001600160a01b038c168186015260408381870152612e8a8487018d612d90565b60608781018d9052608088018c905287820360a08901528a51808352848c019650909184019060005b81811015612eec578751805188168452868101518785015285015167ffffffffffffffff16858401529685019691830191600101612eb3565b505061ffff8a1660c08901529550612f05945050505050565b6001600160a01b03831660e08301529998505050505050505050565b600082612f3e57634e487b7160e01b600052601260045260246000fd5b500490565b60006101008083526001600160e01b03198087511682850152602087015191506080610120850152612f79610180850183612d90565b9150604087015160ff1985840301610140860152612f978382612d90565b9250508060608801511661016085015281925063ffffffff86511660208501527fffffffffffffffff0000000000000000000000000000000000000000000000006020870151166040850152604086015191506bffffffffffffffffffffffff198083166060860152806060880151166080860152508060808701511660a085015250506001600160a01b0360a08501511660c08301528260e0830152949350505050565b67ffffffffffffffff82811682821603908082111561305d5761305d6129a8565b5092915050565b60006020828403121561307657600080fd5b81516114fd81612940565b60006001600160e01b0319808716835285516130a4816004860160208a01612d6c565b8551908401906130bb816004840160208a01612d6c565b919094169301600481019390935250506008019392505050565b6000602082840312156130e757600080fd5b81516114fd8161272c565b60008251613104818460208701612d6c565b9190910192915050565b6020815260006114fd6020830184612d9056fea26469706673582212207c057b357e67b1f5b41d7aa1c09833f45bb4f9fd33e6c1ae786600f6e976b53b64736f6c63430008110033",
708
+ "deployedBytecode": "0x6080604052600436106101d85760003560e01c80637c9e9ffb11610102578063c81ef16811610095578063e78cea9211610064578063e78cea92146105c5578063f11df69d146105e5578063f2fde38b14610605578063fe012b9b1461062557600080fd5b8063c81ef16814610530578063d6ae3cd514610550578063da25b72514610585578063e5d3d714146105a557600080fd5b8063aa82e33b116100d1578063aa82e33b1461049a578063b02c43d0146104ba578063c09975cd146104f7578063c7ba03471461051757600080fd5b80637c9e9ffb146103c357806384acd1bb1461043c5780638da5cb5b1461045c5780639e0e4e2f1461047a57600080fd5b806360ec23dd1161017a5780637154683111610149578063715468311461035357806371c654ee146103695780637b35b4e6146103895780637be04b6a146103a957600080fd5b806360ec23dd146102be578063642dc033146102de57806366b58a01146102fe578063715018a61461033e57600080fd5b80631159bef0116101b65780631159bef01461026057806313b38cce1461028057806327ce36c61461029557806346d9d49a146102ab57600080fd5b80630515f0c1146101dd5780630f36403a146101ff5780630fa1ba441461023c575b600080fd5b3480156101e957600080fd5b506101fd6101f83660046126f6565b610645565b005b34801561020b57600080fd5b5060015461021f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024857600080fd5b5061025260d25481565b604051908152602001610233565b34801561026c57600080fd5b506101fd61027b366004612713565b610748565b34801561028c57600080fd5b5061025261078c565b3480156102a157600080fd5b5061025260d15481565b6101fd6102b9366004612713565b610812565b3480156102ca57600080fd5b506101fd6102d936600461273a565b610b83565b3480156102ea57600080fd5b506101fd6102f9366004612773565b610bfb565b34801561030a57600080fd5b5061032e6103193660046126f6565b60d36020526000908152604090205460ff1681565b6040519015158152602001610233565b34801561034a57600080fd5b506101fd610dfe565b34801561035f57600080fd5b5061025260cf5481565b34801561037557600080fd5b506101fd6103843660046127f7565b610e12565b34801561039557600080fd5b506101fd6103a43660046126f6565b61120d565b3480156103b557600080fd5b5060d45461032e9060ff1681565b3480156103cf57600080fd5b506104106103de366004612713565b60d0602052600090815260409020546001600160a01b03811690600160a01b90046bffffffffffffffffffffffff1682565b604080516001600160a01b0390931683526bffffffffffffffffffffffff909116602083015201610233565b34801561044857600080fd5b5060ca5461021f906001600160a01b031681565b34801561046857600080fd5b506064546001600160a01b031661021f565b34801561048657600080fd5b506101fd61049536600461288d565b6112c5565b3480156104a657600080fd5b5060cd5461021f906001600160a01b031681565b3480156104c657600080fd5b506104ea6104d5366004612713565b60c86020526000908152604090205460ff1681565b60405161023391906128c5565b34801561050357600080fd5b5060965461021f906001600160a01b031681565b34801561052357600080fd5b506102526402540be40081565b34801561053c57600080fd5b5060ce5461021f906001600160a01b031681565b34801561055c57600080fd5b5060cd5461057290600160a01b900461ffff1681565b60405161ffff9091168152602001610233565b34801561059157600080fd5b5060cb5461021f906001600160a01b031681565b3480156105b157600080fd5b5060c95461021f906001600160a01b031681565b3480156105d157600080fd5b5060005461021f906001600160a01b031681565b3480156105f157600080fd5b5060cc5461021f906001600160a01b031681565b34801561061157600080fd5b506101fd6106203660046126f6565b611314565b34801561063157600080fd5b506101fd6106403660046128ed565b6113a4565b61064d6113ed565b60ce546001600160a01b0316156106ab5760405162461bcd60e51b815260206004820181905260248201527f4c3220426974636f696e204465706f7369746f7220616c72656164792073657460448201526064015b60405180910390fd5b6001600160a01b0381166107265760405162461bcd60e51b8152602060048201526024808201527f4c3220426974636f696e204465706f7369746f72206d757374206e6f7420626560448201527f203078300000000000000000000000000000000000000000000000000000000060648201526084016106a2565b60ce80546001600160a01b0319166001600160a01b0392909216919091179055565b6107506113ed565b60cf8190556040518181527f6ed5a3ddedc64e149e68b8bbc09d35489452528ae70487ee4f8832837c5c0105906020015b60405180910390a150565b600061080d60ca60009054906101000a90046001600160a01b03166001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610808919061290a565b611447565b905090565b60005a90506001600083815260c8602052604090205460ff16600281111561083c5761083c6128af565b146108895760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f7369742073746174650000000000000000000000000060448201526064016106a2565b600082815260c860205260408120805460ff1916600217905580806108ad85611504565b60d454929550909350915060ff161561096b5760008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015610914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109389190612952565b509250505060006402540be4008267ffffffffffffffff1661095a91906129be565b905061096681856129d5565b935050505b33816001600160a01b0316867f94d36bc0d9bf5adbd2dec8bd125b7bf12eecc6e5539fc8f2bd57a831d9995af786866040516109b1929190918252602082015260400190565b60405180910390a46109c38282611737565b6096546001600160a01b031615610b7c57600085815260d060209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046bffffffffffffffffffffffff169183019190915215610ac557600086815260d0602090815260408083209290925560965490830151835192517f7ad226dc0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201526001600160a01b039283166024820152911690637ad226dc90604401600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b505050505b33600090815260d3602052604090205460ff1615610b7a576000610ae834611b4d565b60965460d2549192506001600160a01b031690637ad226dc90835a610b0d908b6129e8565b610b1791906129d5565b610b2191906129d5565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b50505050505b505b5050505050565b610b8b6113ed565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610bc8911515815260200190565b60405180910390a26001600160a01b0391909116600090815260d360205260409020805460ff1916911515919091179055565b60005a90506001600160a01b038216610c565760405162461bcd60e51b815260206004820181905260248201527f4c32206465706f736974206f776e6572206d757374206e6f742062652030783060448201526064016106a2565b6001600160a01b0382166000610c83610c6e87612ab6565b610c7d36889003880188612b7b565b84611ca0565b50905060008082815260c8602052604090205460ff166002811115610caa57610caa6128af565b14610cf75760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f7369742073746174650000000000000000000000000060448201526064016106a2565b600081815260c86020526040808220805460ff191660011790555133916001600160a01b0387169184917f04870363995d5b750bccca9d95e57044d630524aec2ef09ebdb820ac11d866b491a46096546001600160a01b031615801590610d6d575033600090815260d3602052604090205460ff165b15610b7a57600060d1545a610d8290866129e8565b610d8c91906129d5565b90506bffffffffffffffffffffffff811115610dab5750505050505050565b6040805180820182523381526bffffffffffffffffffffffff9283166020808301918252600095865260d090529190932092519051909116600160a01b026001600160a01b039091161790555050505050565b610e066113ed565b610e106000611e30565b565b603154610100900460ff1615808015610e325750603154600160ff909116105b80610e4c5750303b158015610e4c575060315460ff166001145b610ebe5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b6031805460ff191660011790558015610ee1576031805461ff0019166101001790555b610eeb8888611e82565b610ef3611ff0565b6001600160a01b038616610f495760405162461bcd60e51b815260206004820152601f60248201527f576f726d686f6c6520616464726573732063616e6e6f74206265207a65726f0060448201526064016106a2565b6001600160a01b038516610fc55760405162461bcd60e51b815260206004820152602660248201527f576f726d686f6c6552656c6179657220616464726573732063616e6e6f74206260448201527f65207a65726f000000000000000000000000000000000000000000000000000060648201526084016106a2565b6001600160a01b0384166110415760405162461bcd60e51b815260206004820152602a60248201527f576f726d686f6c65546f6b656e42726964676520616464726573732063616e6e60448201527f6f74206265207a65726f0000000000000000000000000000000000000000000060648201526084016106a2565b6001600160a01b0383166110bd5760405162461bcd60e51b815260206004820152602860248201527f4c32576f726d686f6c654761746577617920616464726573732063616e6e6f7460448201527f206265207a65726f00000000000000000000000000000000000000000000000060648201526084016106a2565b866001600160a01b031663e5d3d7146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111f9190612c45565b60c980546001600160a01b03199081166001600160a01b039384161790915560ca8054821689841617905560cb8054821688841617905560cc805490911686831617905560cd80549185167fffffffffffffffffffff0000000000000000000000000000000000000000000090921691909117600160a01b61ffff8516021790556207a12060cf5561ea6060d155614e2060d25560d4805460ff191690558015611203576031805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6064546001600160a01b031633146112675760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016106a2565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609680546001600160a01b0319166001600160a01b0392909216919091179055565b6112cd6113ed565b60d182905560d281905560408051838152602081018390527fb8df1fba472926f296225c210e366f62b21fec23b8e1b6b0a375724798ca9c0a910160405180910390a15050565b61131c6113ed565b6001600160a01b0381166113985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106a2565b6113a181611e30565b50565b6113ac6113ed565b60d4805460ff19168215159081179091556040519081527f6dcf7dd477751916b5aa15e99f6f3008aa5fa398339c3abd2d92eaaf13b3578790602001610781565b6064546001600160a01b03163314610e105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106a2565b60cb5460cd5460cf546040517fc23ee3c3000000000000000000000000000000000000000000000000000000008152600160a01b90920461ffff16600483015260006024830181905260448301919091529182916001600160a01b039091169063c23ee3c3906064016040805180830381865afa1580156114cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f09190612c62565b5090506114fd83826129d5565b9392505050565b60008054604051630b02c43d60e41b8152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa158015611552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115769190612c86565b9050806040015163ffffffff166000036115d25760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a656400000000000000000060448201526064016106a2565b6001546040517f6c626aa4000000000000000000000000000000000000000000000000000000008152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af1158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190612d39565b9150508160a0015163ffffffff166000141580611680575067ffffffffffffffff811615155b6116f25760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201527f646765000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b6402540be400826020015167ffffffffffffffff1661171191906129be565b945061172582602001518360800151612063565b93508160c00151925050509193909250565b611740826121e8565b9150600082116117925760405162461bcd60e51b815260206004820152601860248201527f416d6f756e7420746f6f206c6f7720746f20627269646765000000000000000060448201526064016106a2565b60ca54604080517f1a90a21900000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691631a90a2199160048083019260209291908290030181865afa1580156117f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611819919061290a565b9050600061182682611447565b905080341461189d5760405162461bcd60e51b815260206004820152602760248201527f5061796d656e7420666f7220576f726d686f6c652052656c617965722069732060448201527f746f6f206c6f770000000000000000000000000000000000000000000000000060648201526084016106a2565b60cc5460c9546118ba916001600160a01b0391821691168661220a565b60cc5460c95460cd546000926001600160a01b039081169263c5a5ebda928792918216918a91600160a01b810461ffff16911660008b60405160200161190291815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b815260040161193296959493929190612dbc565b60206040518083038185885af1158015611950573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119759190612e0c565b60408051600180825281830190925291925060009190816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181611990575050604080516060810180835260ca547f9a8a05920000000000000000000000000000000000000000000000000000000090915291519293509182916001600160a01b031690639a8a0592906064808501916020918187030181865afa158015611a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4c9190612e27565b61ffff16815260cc546001600160a01b0316602082015267ffffffffffffffff841660409091015281518290600090611a8757611a87612e44565b602090810291909101015260cb546001600160a01b03166332b2fc0e611aad86866129e8565b60cd5460ce5460408051602081018252600080825260cf54925160e088901b6001600160e01b0319168152611b0195600160a01b900461ffff16946001600160a01b031693908a9086903390600401612e5a565b60206040518083038185885af1158015611b1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b449190612e0c565b50505050505050565b600080609660009054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc7919061290a565b90506000609660009054906101000a90046001600160a01b03166001600160a01b031663e25b53456040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c42919061290a565b90506000823a10611c535782611c55565b3a5b905080600003611c6a57506000949350505050565b6000611c768287612f21565b905080831115611c8c5750600095945050505050565b611c9683826129e8565b9695505050505050565b60015460a083015160009182916001600160a01b03908116911614611d075760405162461bcd60e51b815260206004820152601660248201527f5661756c742061646472657373206d69736d617463680000000000000000000060448201526064016106a2565b611d1a611d138661232b565b855161236b565b6000546040517f86f014390000000000000000000000000000000000000000000000000000000081529193506001600160a01b0316906386f0143990611d6890889088908890600401612f43565b600060405180830381600087803b158015611d8257600080fd5b505af1158015611d96573d6000803e3d6000fd5b5050600054604051630b02c43d60e41b8152600481018690526402540be40093506001600160a01b03909116915063b02c43d09060240160e060405180830381865afa158015611dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612c86565b6020015167ffffffffffffffff16611e2691906129be565b9050935093915050565b606480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b0316158015611ea457506001546001600160a01b0316155b611f165760405162461bcd60e51b815260206004820152602960248201527f4162737472616374544254434465706f7369746f7220616c726561647920696e60448201527f697469616c697a6564000000000000000000000000000000000000000000000060648201526084016106a2565b6001600160a01b038216611f6c5760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f00000060448201526064016106a2565b6001600160a01b038116611fc25760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f60448201526064016106a2565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b603154610100900460ff1661205b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106a2565b610e106123b5565b6000806402540be400612076848661303c565b67ffffffffffffffff1661208a91906129be565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121059190613064565b63ffffffff169050600080821161211d576000612127565b6121278284612f21565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa15801561217d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a19190612952565b509250505060006402540be4008267ffffffffffffffff166121c391906129be565b9050806121d084876129e8565b6121da91906129e8565b955050505050505b92915050565b60006121f96402540be40083612f21565b91506121e26402540be400836129be565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015612274573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612298919061290a565b6122a291906129d5565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052909150612325908590612429565b50505050565b60006121e282600001518360200151846040015185606001516040516020016123579493929190613081565b604051602081830303815290604052612513565b6000828260405160200161239692919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b603154610100900460ff166124205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106a2565b610e1033611e30565b600061247e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661253a9092919063ffffffff16565b80519091501561250e578080602001905181019061249c91906130d5565b61250e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106a2565b505050565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606125498484600085612551565b949350505050565b6060824710156125c95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106a2565b600080866001600160a01b031685876040516125e591906130f2565b60006040518083038185875af1925050503d8060008114612622576040519150601f19603f3d011682016040523d82523d6000602084013e612627565b606091505b509150915061263887838387612643565b979650505050505050565b606083156126b25782516000036126ab576001600160a01b0385163b6126ab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081612549565b61254983838151156126c75781518083602001fd5b8060405162461bcd60e51b81526004016106a2919061310e565b6001600160a01b03811681146113a157600080fd5b60006020828403121561270857600080fd5b81356114fd816126e1565b60006020828403121561272557600080fd5b5035919050565b80151581146113a157600080fd5b6000806040838503121561274d57600080fd5b8235612758816126e1565b915060208301356127688161272c565b809150509250929050565b600080600083850361010081121561278a57600080fd5b843567ffffffffffffffff8111156127a157600080fd5b8501608081880312156127b357600080fd5b935060c0601f19820112156127c757600080fd5b5060208401915060e08401356127dc816126e1565b809150509250925092565b61ffff811681146113a157600080fd5b600080600080600080600060e0888a03121561281257600080fd5b873561281d816126e1565b9650602088013561282d816126e1565b9550604088013561283d816126e1565b9450606088013561284d816126e1565b9350608088013561285d816126e1565b925060a088013561286d816126e1565b915060c088013561287d816127e7565b8091505092959891949750929550565b600080604083850312156128a057600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b60208101600383106128e757634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156128ff57600080fd5b81356114fd8161272c565b60006020828403121561291c57600080fd5b5051919050565b805167ffffffffffffffff8116811461293b57600080fd5b919050565b63ffffffff811681146113a157600080fd5b6000806000806080858703121561296857600080fd5b61297185612923565b935061297f60208601612923565b925061298d60408601612923565b9150606085015161299d81612940565b939692955090935050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176121e2576121e26129a8565b808201808211156121e2576121e26129a8565b818103818111156121e2576121e26129a8565b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b03198116811461293b57600080fd5b600082601f830112612a3a57600080fd5b813567ffffffffffffffff80821115612a5557612a556129fb565b604051601f8301601f19908116603f01168101908282118183101715612a7d57612a7d6129fb565b81604052838152866020858801011115612a9657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060808236031215612ac857600080fd5b6040516080810167ffffffffffffffff8282108183111715612aec57612aec6129fb565b81604052612af985612a11565b83526020850135915080821115612b0f57600080fd5b612b1b36838701612a29565b60208401526040850135915080821115612b3457600080fd5b50612b4136828601612a29565b604083015250612b5360608401612a11565b606082015292915050565b80356bffffffffffffffffffffffff198116811461293b57600080fd5b600060c08284031215612b8d57600080fd5b60405160c0810181811067ffffffffffffffff82111715612bb057612bb06129fb565b6040528235612bbe81612940565b815260208301357fffffffffffffffff00000000000000000000000000000000000000000000000081168114612bf357600080fd5b6020820152612c0460408401612b5e565b6040820152612c1560608401612b5e565b6060820152612c2660808401612a11565b608082015260a0830135612c39816126e1565b60a08201529392505050565b600060208284031215612c5757600080fd5b81516114fd816126e1565b60008060408385031215612c7557600080fd5b505080516020909101519092909150565b600060e08284031215612c9857600080fd5b60405160e0810181811067ffffffffffffffff82111715612cbb57612cbb6129fb565b6040528251612cc9816126e1565b8152612cd760208401612923565b60208201526040830151612cea81612940565b60408201526060830151612cfd816126e1565b6060820152612d0e60808401612923565b608082015260a0830151612d2181612940565b60a082015260c0928301519281019290925250919050565b60008060408385031215612d4c57600080fd5b612d5583612923565b9150612d6360208401612923565b90509250929050565b60005b83811015612d87578181015183820152602001612d6f565b50506000910152565b60008151808452612da8816020860160208601612d6c565b601f01601f19169290920160200192915050565b6001600160a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a08201526000612e0060c0830184612d90565b98975050505050505050565b600060208284031215612e1e57600080fd5b6114fd82612923565b600060208284031215612e3957600080fd5b81516114fd816127e7565b634e487b7160e01b600052603260045260246000fd5b600061010061ffff808c16845260206001600160a01b038c168186015260408381870152612e8a8487018d612d90565b60608781018d9052608088018c905287820360a08901528a51808352848c019650909184019060005b81811015612eec578751805188168452868101518785015285015167ffffffffffffffff16858401529685019691830191600101612eb3565b505061ffff8a1660c08901529550612f05945050505050565b6001600160a01b03831660e08301529998505050505050505050565b600082612f3e57634e487b7160e01b600052601260045260246000fd5b500490565b60006101008083526001600160e01b03198087511682850152602087015191506080610120850152612f79610180850183612d90565b9150604087015160ff1985840301610140860152612f978382612d90565b9250508060608801511661016085015281925063ffffffff86511660208501527fffffffffffffffff0000000000000000000000000000000000000000000000006020870151166040850152604086015191506bffffffffffffffffffffffff198083166060860152806060880151166080860152508060808701511660a085015250506001600160a01b0360a08501511660c08301528260e0830152949350505050565b67ffffffffffffffff82811682821603908082111561305d5761305d6129a8565b5092915050565b60006020828403121561307657600080fd5b81516114fd81612940565b60006001600160e01b0319808716835285516130a4816004860160208a01612d6c565b8551908401906130bb816004840160208a01612d6c565b919094169301600481019390935250506008019392505050565b6000602082840312156130e757600080fd5b81516114fd8161272c565b60008251613104818460208701612d6c565b9190910192915050565b6020815260006114fd6020830184612d9056fea26469706673582212207c057b357e67b1f5b41d7aa1c09833f45bb4f9fd33e6c1ae786600f6e976b53b64736f6c63430008110033",
670
709
  "linkReferences": {},
671
710
  "deployedLinkReferences": {}
672
711
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5b8f58b5ff9da776e63037f0505ca213.json"
3
+ "buildInfo": "../../../build-info/70ee95e086d7bc0ddc8e227f24a39133.json"
4
4
  }