@keep-network/tbtc-v2 0.1.1-dev.6 → 0.1.1-dev.62

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 (101) hide show
  1. package/README.adoc +12 -0
  2. package/artifacts/Bank.json +752 -0
  3. package/artifacts/Bridge.json +3962 -0
  4. package/artifacts/Deposit.json +117 -0
  5. package/artifacts/DepositSweep.json +76 -0
  6. package/artifacts/EcdsaDkgValidator.json +532 -0
  7. package/artifacts/EcdsaInactivity.json +156 -0
  8. package/artifacts/Fraud.json +154 -0
  9. package/artifacts/KeepRegistry.json +99 -0
  10. package/artifacts/KeepStake.json +286 -0
  11. package/artifacts/KeepToken.json +711 -0
  12. package/artifacts/KeepTokenStaking.json +483 -0
  13. package/artifacts/MovingFunds.json +227 -0
  14. package/artifacts/NuCypherStakingEscrow.json +256 -0
  15. package/artifacts/NuCypherToken.json +711 -0
  16. package/artifacts/RandomBeaconStub.json +141 -0
  17. package/artifacts/Redemption.json +162 -0
  18. package/artifacts/ReimbursementPool.json +509 -0
  19. package/artifacts/Relay.json +123 -0
  20. package/artifacts/SortitionPool.json +944 -0
  21. package/artifacts/T.json +1148 -0
  22. package/artifacts/TBTC.json +27 -26
  23. package/artifacts/TBTCToken.json +27 -26
  24. package/artifacts/TokenStaking.json +2288 -0
  25. package/artifacts/TokenholderGovernor.json +1795 -0
  26. package/artifacts/TokenholderTimelock.json +1058 -0
  27. package/artifacts/VendingMachine.json +30 -29
  28. package/artifacts/VendingMachineKeep.json +400 -0
  29. package/artifacts/VendingMachineNuCypher.json +400 -0
  30. package/artifacts/WalletRegistry.json +2709 -0
  31. package/artifacts/WalletRegistryGovernance.json +2364 -0
  32. package/artifacts/Wallets.json +186 -0
  33. package/artifacts/solcInputs/05c98d94f96a77da7702c7818a8cadac.json +227 -0
  34. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  35. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  36. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  37. package/build/contracts/bank/Bank.sol/Bank.json +20 -2
  38. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
  39. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
  40. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  41. package/build/contracts/bridge/Bridge.sol/Bridge.json +2470 -132
  42. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
  43. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +220 -0
  44. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
  45. package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
  46. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
  47. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
  48. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
  49. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
  50. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
  51. package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
  52. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
  53. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
  54. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
  55. package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
  56. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
  57. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +125 -0
  58. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
  59. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
  60. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
  61. package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
  62. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  63. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  64. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
  65. package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
  66. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  67. package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
  68. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
  69. package/build/contracts/vault/DonationVault.sol/DonationVault.json +103 -0
  70. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  71. package/build/contracts/vault/IVault.sol/IVault.json +19 -1
  72. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  73. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +36 -18
  74. package/contracts/GovernanceUtils.sol +1 -1
  75. package/contracts/bank/Bank.sol +34 -18
  76. package/contracts/bridge/BitcoinTx.sol +318 -0
  77. package/contracts/bridge/Bridge.sol +1527 -247
  78. package/contracts/bridge/BridgeState.sol +698 -0
  79. package/contracts/bridge/Deposit.sol +266 -0
  80. package/contracts/bridge/DepositSweep.sol +514 -0
  81. package/contracts/bridge/EcdsaLib.sol +45 -0
  82. package/contracts/bridge/Fraud.sol +508 -0
  83. package/contracts/bridge/Heartbeat.sol +107 -0
  84. package/contracts/bridge/IRelay.sol +28 -0
  85. package/contracts/bridge/MovingFunds.sol +1034 -0
  86. package/contracts/bridge/Redemption.sol +868 -0
  87. package/contracts/bridge/VendingMachine.sol +1 -1
  88. package/contracts/bridge/Wallets.sol +550 -0
  89. package/contracts/token/TBTC.sol +1 -1
  90. package/contracts/vault/DonationVault.sol +125 -0
  91. package/contracts/vault/IVault.sol +32 -10
  92. package/contracts/vault/TBTCVault.sol +20 -2
  93. package/deploy/00_resolve_relay.ts +28 -0
  94. package/deploy/04_deploy_bank.ts +27 -0
  95. package/deploy/05_deploy_bridge.ts +67 -0
  96. package/deploy/06_bank_update_bridge.ts +19 -0
  97. package/deploy/07_transfer_ownership.ts +15 -0
  98. package/deploy/08_transfer_governance.ts +20 -0
  99. package/export.json +15711 -475
  100. package/package.json +27 -24
  101. package/artifacts/solcInputs/c4fd2c31cc58f5fe0cc586dd84a84b60.json +0 -125
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/2ef2dc9c11f3851fd3437c51b34c4b13.json"
3
+ "buildInfo": "../../build-info/a1155826dfa1f8a3eecfffafe048f2a9.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "GovernanceUtils",
4
4
  "sourceName": "contracts/GovernanceUtils.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200508e4ac33f9b16a4b0b5d3e0b4331fe3460bec133684812a5a410a07988436e64736f6c63430008040033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200508e4ac33f9b16a4b0b5d3e0b4331fe3460bec133684812a5a410a07988436e64736f6c63430008040033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202b749070d1b15d59740778165ba1eb70233da83082518e42f2a24673d22ea81664736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202b749070d1b15d59740778165ba1eb70233da83082518e42f2a24673d22ea81664736f6c63430008090033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2ef2dc9c11f3851fd3437c51b34c4b13.json"
3
+ "buildInfo": "../../../build-info/a1155826dfa1f8a3eecfffafe048f2a9.json"
4
4
  }
@@ -196,6 +196,24 @@
196
196
  "stateMutability": "nonpayable",
197
197
  "type": "function"
198
198
  },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "vault",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "uint256",
208
+ "name": "amount",
209
+ "type": "uint256"
210
+ }
211
+ ],
212
+ "name": "approveBalanceAndCall",
213
+ "outputs": [],
214
+ "stateMutability": "nonpayable",
215
+ "type": "function"
216
+ },
199
217
  {
200
218
  "inputs": [
201
219
  {
@@ -512,8 +530,8 @@
512
530
  "type": "function"
513
531
  }
514
532
  ],
515
- "bytecode": "0x60c06040523480156200001157600080fd5b5062000032620000266200005760201b60201c565b6200005f60201b60201c565b46608081815250506200004a6200012360201b60201c565b60a08181525050620002cb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001620001d895949392919062000226565b60405160208183030381529060405280519060200120905090565b620001fe8162000283565b82525050565b6200020f8162000297565b82525050565b6200022081620002c1565b82525050565b600060a0820190506200023d600083018862000204565b6200024c602083018762000204565b6200025b604083018662000204565b6200026a606083018562000215565b620002796080830184620001f3565b9695505050505050565b60006200029082620002a1565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60805160a0516129dd620002ff600039600081816106a10152610c460152600081816106790152610aef01526129dd6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370ae92d2116100b8578063b4f94b2e1161007c578063b4f94b2e14610325578063bb7e61bc14610343578063d505accf1461035f578063dd62ed3e1461037b578063e78cea92146103ab578063f2fde38b146103c957610142565b806370ae92d214610293578063715018a6146102c3578063771da5c5146102cd5780637c6db49c146102eb5780638da5cb5b1461030757610142565b806346b05e091161010a57806346b05e09146101d757806356a6d9ef146101f35780635b86f5991461020f5780635bfd99b91461022b5780636eb382121461024757806370a082311461026357610142565b80630b6d324c14610147578063266a123a1461016357806330adf81f1461017f5780633644e5151461019d578063392aee43146101bb575b600080fd5b610161600480360381019061015c9190611b96565b6103e5565b005b61017d60048036038101906101789190611bd2565b6104bb565b005b610187610651565b604051610194919061207f565b60405180910390f35b6101a5610675565b6040516101b2919061207f565b60405180910390f35b6101d560048036038101906101d09190611c47565b6106d5565b005b6101f160048036038101906101ec9190611b96565b61077c565b005b61020d60048036038101906102089190611b96565b61078b565b005b61022960048036038101906102249190611b96565b61079a565b005b61024560048036038101906102409190611b96565b610838565b005b610261600480360381019061025c91906119bb565b6108ce565b005b61027d600480360381019061027891906119bb565b610a35565b60405161028a9190612393565b60405180910390f35b6102ad60048036038101906102a891906119bb565b610a4d565b6040516102ba9190612393565b60405180910390f35b6102cb610a65565b005b6102d5610aed565b6040516102e29190612393565b60405180910390f35b61030560048036038101906103009190611a20565b610b11565b005b61030f610c1b565b60405161031c9190612029565b60405180910390f35b61032d610c44565b60405161033a919061207f565b60405180910390f35b61035d60048036038101906103589190611b0d565b610c68565b005b61037960048036038101906103749190611a6f565b610e33565b005b610395600480360381019061039091906119e4565b611117565b6040516103a29190612393565b60405180910390f35b6103b361113c565b6040516103c09190612029565b60405180910390f35b6103e360048036038101906103de91906119bb565b611162565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a090612373565b60405180910390fd5b6104b6338484840361125a565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612333565b60405180910390fd5b818190508484905014610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90612193565b60405180910390fd5b60005b8484905081101561064a576106378585838181106105dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f291906119bb565b84848481811061062b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356113b5565b808061064290612506565b915050610596565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f00000000000000000000000000000000000000000000000000000000000000004614156106c7577f000000000000000000000000000000000000000000000000000000000000000090506106d2565b6106cf6114cc565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107249190612470565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff826040516107719190612393565b60405180910390a250565b61078733838361125a565b5050565b61079633838361159a565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082190612333565b60405180910390fd5b61083482826113b5565b5050565b6108ca338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c5919061241a565b61125a565b5050565b6108d6611807565b73ffffffffffffffffffffffffffffffffffffffff166108f4610c1b565b73ffffffffffffffffffffffffffffffffffffffff161461094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b1906122b3565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610a2a9190612029565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610a6d611807565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610c1b565b73ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890612293565b60405180910390fd5b610aeb600061180f565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c0a5781811015610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf3906121d3565b60405180910390fd5b610c09843384840361125a565b5b610c1584848461159a565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612333565b60405180910390fd5b818190508484905014610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790612193565b60405180910390fd5b6000805b83839050811015610daf57838382818110610d88577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013582610d9a919061241a565b91508080610da790612506565b915050610d44565b50610dba86826113b5565b8573ffffffffffffffffffffffffffffffffffffffff1663ad7581e1868686866040518563ffffffff1660e01b8152600401610df99493929190612044565b600060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b50505050505050505050565b42841015610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d906122f3565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612313565b60405180910390fd5b601b8360ff161480610ef15750601c8360ff16145b610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f27906121f3565b60405180910390fd5b6000610f3a610675565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610fae90612506565b919050558a604051602001610fc89695949392919061209a565b60405160208183030381529060405280519060200120604051602001610fef929190611ff2565b60405160208183030381529060405280519060200120905060006001828686866040516000815260200160405260405161102c949392919061214e565b6020604051602081039080840390855afa15801561104e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156110c257508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f890612233565b60405180910390fd5b61110c89898961125a565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61116a611807565b73ffffffffffffffffffffffffffffffffffffffff16611188610c1b565b73ffffffffffffffffffffffffffffffffffffffff16146111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d590612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611245906121b3565b60405180910390fd5b6112578161180f565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612253565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405836040516113a89190612393565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90612353565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611473919061241a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b826040516114c09190612393565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161157f9594939291906120fb565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561160a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611601906122d3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090612213565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790612273565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611795919061241a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516117f99190612393565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506118e28161294b565b92915050565b60008083601f8401126118fa57600080fd5b8235905067ffffffffffffffff81111561191357600080fd5b60208301915083602082028301111561192b57600080fd5b9250929050565b60008083601f84011261194457600080fd5b8235905067ffffffffffffffff81111561195d57600080fd5b60208301915083602082028301111561197557600080fd5b9250929050565b60008135905061198b81612962565b92915050565b6000813590506119a081612979565b92915050565b6000813590506119b581612990565b92915050565b6000602082840312156119cd57600080fd5b60006119db848285016118d3565b91505092915050565b600080604083850312156119f757600080fd5b6000611a05858286016118d3565b9250506020611a16858286016118d3565b9150509250929050565b600080600060608486031215611a3557600080fd5b6000611a43868287016118d3565b9350506020611a54868287016118d3565b9250506040611a6586828701611991565b9150509250925092565b600080600080600080600060e0888a031215611a8a57600080fd5b6000611a988a828b016118d3565b9750506020611aa98a828b016118d3565b9650506040611aba8a828b01611991565b9550506060611acb8a828b01611991565b9450506080611adc8a828b016119a6565b93505060a0611aed8a828b0161197c565b92505060c0611afe8a828b0161197c565b91505092959891949750929550565b600080600080600060608688031215611b2557600080fd5b6000611b33888289016118d3565b955050602086013567ffffffffffffffff811115611b5057600080fd5b611b5c888289016118e8565b9450945050604086013567ffffffffffffffff811115611b7b57600080fd5b611b8788828901611932565b92509250509295509295909350565b60008060408385031215611ba957600080fd5b6000611bb7858286016118d3565b9250506020611bc885828601611991565b9150509250929050565b60008060008060408587031215611be857600080fd5b600085013567ffffffffffffffff811115611c0257600080fd5b611c0e878288016118e8565b9450945050602085013567ffffffffffffffff811115611c2d57600080fd5b611c3987828801611932565b925092505092959194509250565b600060208284031215611c5957600080fd5b6000611c6784828501611991565b91505092915050565b6000611c7c8383611c88565b60208301905092915050565b611c91816124a4565b82525050565b611ca0816124a4565b82525050565b6000611cb283856123c5565b9350611cbd826123ae565b8060005b85811015611cf657611cd38284612403565b611cdd8882611c70565b9750611ce8836123b8565b925050600181019050611cc1565b5085925050509392505050565b6000611d0f83856123d6565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611d3e57600080fd5b602083029250611d4f8385846124f7565b82840190509392505050565b611d64816124b6565b82525050565b611d7b611d76826124b6565b61254f565b82525050565b6000611d8e6020836123e7565b9150611d9982612588565b602082019050919050565b6000611db16026836123e7565b9150611dbc826125b1565b604082019050919050565b6000611dd46021836123e7565b9150611ddf82612600565b604082019050919050565b6000611df76002836123f8565b9150611e028261264f565b600282019050919050565b6000611e1a601b836123e7565b9150611e2582612678565b602082019050919050565b6000611e3d6024836123e7565b9150611e48826126a1565b604082019050919050565b6000611e606011836123e7565b9150611e6b826126f0565b602082019050919050565b6000611e836023836123e7565b9150611e8e82612719565b604082019050919050565b6000611ea6601f836123e7565b9150611eb182612768565b602082019050919050565b6000611ec96020836123e7565b9150611ed482612791565b602082019050919050565b6000611eec601e836123e7565b9150611ef7826127ba565b602082019050919050565b6000611f0f6024836123e7565b9150611f1a826127e3565b604082019050919050565b6000611f326012836123e7565b9150611f3d82612832565b602082019050919050565b6000611f55601b836123e7565b9150611f608261285b565b602082019050919050565b6000611f786018836123e7565b9150611f8382612884565b602082019050919050565b6000611f9b6021836123e7565b9150611fa6826128ad565b604082019050919050565b6000611fbe602d836123e7565b9150611fc9826128fc565b604082019050919050565b611fdd816124e0565b82525050565b611fec816124ea565b82525050565b6000611ffd82611dea565b91506120098285611d6a565b6020820191506120198284611d6a565b6020820191508190509392505050565b600060208201905061203e6000830184611c97565b92915050565b6000604082019050818103600083015261205f818688611ca6565b90508181036020830152612074818486611d03565b905095945050505050565b60006020820190506120946000830184611d5b565b92915050565b600060c0820190506120af6000830189611d5b565b6120bc6020830188611c97565b6120c96040830187611c97565b6120d66060830186611fd4565b6120e36080830185611fd4565b6120f060a0830184611fd4565b979650505050505050565b600060a0820190506121106000830188611d5b565b61211d6020830187611d5b565b61212a6040830186611d5b565b6121376060830185611fd4565b6121446080830184611c97565b9695505050505050565b60006080820190506121636000830187611d5b565b6121706020830186611fe3565b61217d6040830185611d5b565b61218a6060830184611d5b565b95945050505050565b600060208201905081810360008301526121ac81611d81565b9050919050565b600060208201905081810360008301526121cc81611da4565b9050919050565b600060208201905081810360008301526121ec81611dc7565b9050919050565b6000602082019050818103600083015261220c81611e0d565b9050919050565b6000602082019050818103600083015261222c81611e30565b9050919050565b6000602082019050818103600083015261224c81611e53565b9050919050565b6000602082019050818103600083015261226c81611e76565b9050919050565b6000602082019050818103600083015261228c81611e99565b9050919050565b600060208201905081810360008301526122ac81611ebc565b9050919050565b600060208201905081810360008301526122cc81611edf565b9050919050565b600060208201905081810360008301526122ec81611f02565b9050919050565b6000602082019050818103600083015261230c81611f25565b9050919050565b6000602082019050818103600083015261232c81611f48565b9050919050565b6000602082019050818103600083015261234c81611f6b565b9050919050565b6000602082019050818103600083015261236c81611f8e565b9050919050565b6000602082019050818103600083015261238c81611fb1565b9050919050565b60006020820190506123a86000830184611fd4565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061241260208401846118d3565b905092915050565b6000612425826124e0565b9150612430836124e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561246557612464612559565b5b828201905092915050565b600061247b826124e0565b9150612486836124e0565b92508282101561249957612498612559565b5b828203905092915050565b60006124af826124c0565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b6000612511826124e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561254457612543612559565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612954816124a4565b811461295f57600080fd5b50565b61296b816124b6565b811461297657600080fd5b50565b612982816124e0565b811461298d57600080fd5b50565b612999816124ea565b81146129a457600080fd5b5056fea2646970667358221220baf5bd5d450e14e6fee5dfaadcbc5446a3ffa000154043c1bb6a663d2b2860c164736f6c63430008040033",
516
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370ae92d2116100b8578063b4f94b2e1161007c578063b4f94b2e14610325578063bb7e61bc14610343578063d505accf1461035f578063dd62ed3e1461037b578063e78cea92146103ab578063f2fde38b146103c957610142565b806370ae92d214610293578063715018a6146102c3578063771da5c5146102cd5780637c6db49c146102eb5780638da5cb5b1461030757610142565b806346b05e091161010a57806346b05e09146101d757806356a6d9ef146101f35780635b86f5991461020f5780635bfd99b91461022b5780636eb382121461024757806370a082311461026357610142565b80630b6d324c14610147578063266a123a1461016357806330adf81f1461017f5780633644e5151461019d578063392aee43146101bb575b600080fd5b610161600480360381019061015c9190611b96565b6103e5565b005b61017d60048036038101906101789190611bd2565b6104bb565b005b610187610651565b604051610194919061207f565b60405180910390f35b6101a5610675565b6040516101b2919061207f565b60405180910390f35b6101d560048036038101906101d09190611c47565b6106d5565b005b6101f160048036038101906101ec9190611b96565b61077c565b005b61020d60048036038101906102089190611b96565b61078b565b005b61022960048036038101906102249190611b96565b61079a565b005b61024560048036038101906102409190611b96565b610838565b005b610261600480360381019061025c91906119bb565b6108ce565b005b61027d600480360381019061027891906119bb565b610a35565b60405161028a9190612393565b60405180910390f35b6102ad60048036038101906102a891906119bb565b610a4d565b6040516102ba9190612393565b60405180910390f35b6102cb610a65565b005b6102d5610aed565b6040516102e29190612393565b60405180910390f35b61030560048036038101906103009190611a20565b610b11565b005b61030f610c1b565b60405161031c9190612029565b60405180910390f35b61032d610c44565b60405161033a919061207f565b60405180910390f35b61035d60048036038101906103589190611b0d565b610c68565b005b61037960048036038101906103749190611a6f565b610e33565b005b610395600480360381019061039091906119e4565b611117565b6040516103a29190612393565b60405180910390f35b6103b361113c565b6040516103c09190612029565b60405180910390f35b6103e360048036038101906103de91906119bb565b611162565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a090612373565b60405180910390fd5b6104b6338484840361125a565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612333565b60405180910390fd5b818190508484905014610593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058a90612193565b60405180910390fd5b60005b8484905081101561064a576106378585838181106105dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f291906119bb565b84848481811061062b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356113b5565b808061064290612506565b915050610596565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f00000000000000000000000000000000000000000000000000000000000000004614156106c7577f000000000000000000000000000000000000000000000000000000000000000090506106d2565b6106cf6114cc565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107249190612470565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff826040516107719190612393565b60405180910390a250565b61078733838361125a565b5050565b61079633838361159a565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082190612333565b60405180910390fd5b61083482826113b5565b5050565b6108ca338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108c5919061241a565b61125a565b5050565b6108d6611807565b73ffffffffffffffffffffffffffffffffffffffff166108f4610c1b565b73ffffffffffffffffffffffffffffffffffffffff161461094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b1906122b3565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610a2a9190612029565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610a6d611807565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610c1b565b73ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890612293565b60405180910390fd5b610aeb600061180f565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c0a5781811015610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf3906121d3565b60405180910390fd5b610c09843384840361125a565b5b610c1584848461159a565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612333565b60405180910390fd5b818190508484905014610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790612193565b60405180910390fd5b6000805b83839050811015610daf57838382818110610d88577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013582610d9a919061241a565b91508080610da790612506565b915050610d44565b50610dba86826113b5565b8573ffffffffffffffffffffffffffffffffffffffff1663ad7581e1868686866040518563ffffffff1660e01b8152600401610df99493929190612044565b600060405180830381600087803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b50505050505050505050565b42841015610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d906122f3565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612313565b60405180910390fd5b601b8360ff161480610ef15750601c8360ff16145b610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f27906121f3565b60405180910390fd5b6000610f3a610675565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610fae90612506565b919050558a604051602001610fc89695949392919061209a565b60405160208183030381529060405280519060200120604051602001610fef929190611ff2565b60405160208183030381529060405280519060200120905060006001828686866040516000815260200160405260405161102c949392919061214e565b6020604051602081039080840390855afa15801561104e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156110c257508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f890612233565b60405180910390fd5b61110c89898961125a565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61116a611807565b73ffffffffffffffffffffffffffffffffffffffff16611188610c1b565b73ffffffffffffffffffffffffffffffffffffffff16146111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d590612293565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611245906121b3565b60405180910390fd5b6112578161180f565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190612253565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405836040516113a89190612393565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90612353565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611473919061241a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b826040516114c09190612393565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161157f9594939291906120fb565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561160a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611601906122d3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090612213565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f790612273565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611795919061241a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516117f99190612393565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000813590506118e28161294b565b92915050565b60008083601f8401126118fa57600080fd5b8235905067ffffffffffffffff81111561191357600080fd5b60208301915083602082028301111561192b57600080fd5b9250929050565b60008083601f84011261194457600080fd5b8235905067ffffffffffffffff81111561195d57600080fd5b60208301915083602082028301111561197557600080fd5b9250929050565b60008135905061198b81612962565b92915050565b6000813590506119a081612979565b92915050565b6000813590506119b581612990565b92915050565b6000602082840312156119cd57600080fd5b60006119db848285016118d3565b91505092915050565b600080604083850312156119f757600080fd5b6000611a05858286016118d3565b9250506020611a16858286016118d3565b9150509250929050565b600080600060608486031215611a3557600080fd5b6000611a43868287016118d3565b9350506020611a54868287016118d3565b9250506040611a6586828701611991565b9150509250925092565b600080600080600080600060e0888a031215611a8a57600080fd5b6000611a988a828b016118d3565b9750506020611aa98a828b016118d3565b9650506040611aba8a828b01611991565b9550506060611acb8a828b01611991565b9450506080611adc8a828b016119a6565b93505060a0611aed8a828b0161197c565b92505060c0611afe8a828b0161197c565b91505092959891949750929550565b600080600080600060608688031215611b2557600080fd5b6000611b33888289016118d3565b955050602086013567ffffffffffffffff811115611b5057600080fd5b611b5c888289016118e8565b9450945050604086013567ffffffffffffffff811115611b7b57600080fd5b611b8788828901611932565b92509250509295509295909350565b60008060408385031215611ba957600080fd5b6000611bb7858286016118d3565b9250506020611bc885828601611991565b9150509250929050565b60008060008060408587031215611be857600080fd5b600085013567ffffffffffffffff811115611c0257600080fd5b611c0e878288016118e8565b9450945050602085013567ffffffffffffffff811115611c2d57600080fd5b611c3987828801611932565b925092505092959194509250565b600060208284031215611c5957600080fd5b6000611c6784828501611991565b91505092915050565b6000611c7c8383611c88565b60208301905092915050565b611c91816124a4565b82525050565b611ca0816124a4565b82525050565b6000611cb283856123c5565b9350611cbd826123ae565b8060005b85811015611cf657611cd38284612403565b611cdd8882611c70565b9750611ce8836123b8565b925050600181019050611cc1565b5085925050509392505050565b6000611d0f83856123d6565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611d3e57600080fd5b602083029250611d4f8385846124f7565b82840190509392505050565b611d64816124b6565b82525050565b611d7b611d76826124b6565b61254f565b82525050565b6000611d8e6020836123e7565b9150611d9982612588565b602082019050919050565b6000611db16026836123e7565b9150611dbc826125b1565b604082019050919050565b6000611dd46021836123e7565b9150611ddf82612600565b604082019050919050565b6000611df76002836123f8565b9150611e028261264f565b600282019050919050565b6000611e1a601b836123e7565b9150611e2582612678565b602082019050919050565b6000611e3d6024836123e7565b9150611e48826126a1565b604082019050919050565b6000611e606011836123e7565b9150611e6b826126f0565b602082019050919050565b6000611e836023836123e7565b9150611e8e82612719565b604082019050919050565b6000611ea6601f836123e7565b9150611eb182612768565b602082019050919050565b6000611ec96020836123e7565b9150611ed482612791565b602082019050919050565b6000611eec601e836123e7565b9150611ef7826127ba565b602082019050919050565b6000611f0f6024836123e7565b9150611f1a826127e3565b604082019050919050565b6000611f326012836123e7565b9150611f3d82612832565b602082019050919050565b6000611f55601b836123e7565b9150611f608261285b565b602082019050919050565b6000611f786018836123e7565b9150611f8382612884565b602082019050919050565b6000611f9b6021836123e7565b9150611fa6826128ad565b604082019050919050565b6000611fbe602d836123e7565b9150611fc9826128fc565b604082019050919050565b611fdd816124e0565b82525050565b611fec816124ea565b82525050565b6000611ffd82611dea565b91506120098285611d6a565b6020820191506120198284611d6a565b6020820191508190509392505050565b600060208201905061203e6000830184611c97565b92915050565b6000604082019050818103600083015261205f818688611ca6565b90508181036020830152612074818486611d03565b905095945050505050565b60006020820190506120946000830184611d5b565b92915050565b600060c0820190506120af6000830189611d5b565b6120bc6020830188611c97565b6120c96040830187611c97565b6120d66060830186611fd4565b6120e36080830185611fd4565b6120f060a0830184611fd4565b979650505050505050565b600060a0820190506121106000830188611d5b565b61211d6020830187611d5b565b61212a6040830186611d5b565b6121376060830185611fd4565b6121446080830184611c97565b9695505050505050565b60006080820190506121636000830187611d5b565b6121706020830186611fe3565b61217d6040830185611d5b565b61218a6060830184611d5b565b95945050505050565b600060208201905081810360008301526121ac81611d81565b9050919050565b600060208201905081810360008301526121cc81611da4565b9050919050565b600060208201905081810360008301526121ec81611dc7565b9050919050565b6000602082019050818103600083015261220c81611e0d565b9050919050565b6000602082019050818103600083015261222c81611e30565b9050919050565b6000602082019050818103600083015261224c81611e53565b9050919050565b6000602082019050818103600083015261226c81611e76565b9050919050565b6000602082019050818103600083015261228c81611e99565b9050919050565b600060208201905081810360008301526122ac81611ebc565b9050919050565b600060208201905081810360008301526122cc81611edf565b9050919050565b600060208201905081810360008301526122ec81611f02565b9050919050565b6000602082019050818103600083015261230c81611f25565b9050919050565b6000602082019050818103600083015261232c81611f48565b9050919050565b6000602082019050818103600083015261234c81611f6b565b9050919050565b6000602082019050818103600083015261236c81611f8e565b9050919050565b6000602082019050818103600083015261238c81611fb1565b9050919050565b60006020820190506123a86000830184611fd4565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061241260208401846118d3565b905092915050565b6000612425826124e0565b9150612430836124e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561246557612464612559565b5b828201905092915050565b600061247b826124e0565b9150612486836124e0565b92508282101561249957612498612559565b5b828203905092915050565b60006124af826124c0565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b6000612511826124e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561254457612543612559565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612954816124a4565b811461295f57600080fd5b50565b61296b816124b6565b811461297657600080fd5b50565b612982816124e0565b811461298d57600080fd5b50565b612999816124ea565b81146129a457600080fd5b5056fea2646970667358221220baf5bd5d450e14e6fee5dfaadcbc5446a3ffa000154043c1bb6a663d2b2860c164736f6c63430008040033",
533
+ "bytecode": "0x60c060405234801561001057600080fd5b5061001a336100f9565b466080526100f16040805180820182526009815268544254432042616e6b60b81b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa1cc9cffb2f2444066e5c95caef7925ee7ef97efc6002db29d3637e98e2f0dd2818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b60a052610149565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60805160a0516117ec61017c6000396000818161032d01526106410152600081816102ce015261061801526117ec6000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063b4f94b2e1161008c578063dd62ed3e11610066578063dd62ed3e14610375578063e78cea92146103a0578063f2fde38b146103b357600080fd5b8063b4f94b2e14610328578063bb7e61bc1461034f578063d505accf1461036257600080fd5b8063771da5c5116100bd578063771da5c5146102c95780637c6db49c146102f05780638da5cb5b1461030357600080fd5b806370a082311461028157806370ae92d2146102a1578063715018a6146102c157600080fd5b8063392aee43116101455780635b86f5991161011f5780635b86f599146102485780635bfd99b91461025b5780636eb382121461026e57600080fd5b8063392aee431461020f57806346b05e091461022257806356a6d9ef1461023557600080fd5b8063266a123a11610176578063266a123a146101ba57806330adf81f146101cd5780633644e5151461020757600080fd5b80630b6d324c1461019257806315b9b92a146101a7575b600080fd5b6101a56101a0366004611425565b6103c6565b005b6101a56101b5366004611425565b610477565b6101a56101c836600461149b565b6104ff565b6101f47f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6040519081526020015b60405180910390f35b6101f4610614565b6101a561021d366004611507565b610764565b6101a5610230366004611425565b6107c0565b6101a5610243366004611425565b6107cf565b6101a5610256366004611425565b6107da565b6101a5610269366004611425565b61083e565b6101a561027c366004611520565b610879565b6101f461028f366004611520565b60026020526000908152604090205481565b6101f46102af366004611520565b60046020526000908152604090205481565b6101a561098a565b6101f47f000000000000000000000000000000000000000000000000000000000000000081565b6101a56102fe366004611542565b6109f0565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101fe565b6101f47f000000000000000000000000000000000000000000000000000000000000000081565b6101a561035d36600461157e565b610ab1565b6101a56103703660046115ff565b610c2e565b6101f4610383366004611672565b600360209081526000928352604080842090915290825290205481565b600154610310906001600160a01b031681565b6101a56103c1366004611520565b610f3e565b3360009081526003602090815260408083206001600160a01b0386168452909152902054818110156104655760405162461bcd60e51b815260206004820152602d60248201527f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60448201527f63652062656c6f77207a65726f0000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104723384848403611020565b505050565b610482338383611020565b6040517f53794137000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b03831690635379413790604401600060405180830381600087803b1580156104e357600080fd5b505af11580156104f7573d6000803e3d6000fd5b505050505050565b6001546001600160a01b031633146105595760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206272696467650000000000000000604482015260640161045c565b8281146105a85760405162461bcd60e51b815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e677468604482015260640161045c565b60005b8381101561060d576105fb8585838181106105c8576105c86116a5565b90506020020160208101906105dd9190611520565b8484848181106105ef576105ef6116a5565b905060200201356110fd565b80610605816116d1565b9150506105ab565b5050505050565b60007f000000000000000000000000000000000000000000000000000000000000000046141561066357507f000000000000000000000000000000000000000000000000000000000000000090565b50604080518082018252600981527f544254432042616e6b000000000000000000000000000000000000000000000060209182015281518083018352600181527f31000000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa1cc9cffb2f2444066e5c95caef7925ee7ef97efc6002db29d3637e98e2f0dd2818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b33600090815260026020526040812080548392906107839084906116ec565b909155505060405181815233907f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff9060200160405180910390a250565b6107cb338383611020565b5050565b6107cb3383836111eb565b6001546001600160a01b031633146108345760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206272696467650000000000000000604482015260640161045c565b6107cb82826110fd565b3360008181526003602090815260408083206001600160a01b03871684529091529020546107cb91908490610874908590611703565b611020565b6000546001600160a01b031633146108d35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b6001600160a01b0381166109295760405162461bcd60e51b815260206004820152601e60248201527f4272696467652061646472657373206d757374206e6f74206265203078300000604482015260640161045c565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6000546001600160a01b031633146109e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b6109ee60006113ac565b565b6001600160a01b03831660009081526003602090815260408083203384529091529020546000198114610aa05781811015610a935760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360448201527f6500000000000000000000000000000000000000000000000000000000000000606482015260840161045c565b610aa08433848403611020565b610aab8484846111eb565b50505050565b6001546001600160a01b03163314610b0b5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206272696467650000000000000000604482015260640161045c565b828114610b5a5760405162461bcd60e51b815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e677468604482015260640161045c565b6000805b82811015610b9e57838382818110610b7857610b786116a5565b9050602002013582610b8a9190611703565b915080610b96816116d1565b915050610b5e565b50610ba986826110fd565b6040517f461c63730000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063461c637390610bf490889088908890889060040161171b565b600060405180830381600087803b158015610c0e57600080fd5b505af1158015610c22573d6000803e3d6000fd5b50505050505050505050565b42841015610c7e5760405162461bcd60e51b815260206004820152601260248201527f5065726d697373696f6e20657870697265640000000000000000000000000000604482015260640161045c565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0811115610cee5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202773272076616c75650000000000604482015260640161045c565b8260ff16601b1480610d0357508260ff16601c145b610d4f5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202776272076616c75650000000000604482015260640161045c565b6000610d59610614565b6001600160a01b038916600090815260046020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92909190610da7836116d1565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001610e3b9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ea6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610edc5750886001600160a01b0316816001600160a01b0316145b610f285760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015260640161045c565b610f33898989611020565b505050505050505050565b6000546001600160a01b03163314610f985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b6001600160a01b0381166110145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161045c565b61101d816113ac565b50565b6001600160a01b03821661109c5760405162461bcd60e51b815260206004820152602360248201527f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161045c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405910160405180910390a3505050565b6001600160a01b03821630141561117c5760405162461bcd60e51b815260206004820152602160248201527f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60448201527f6b00000000000000000000000000000000000000000000000000000000000000606482015260840161045c565b6001600160a01b038216600090815260026020526040812080548392906111a4908490611703565b90915550506040518181526001600160a01b038316907f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b9060200160405180910390a25050565b6001600160a01b03821661124d5760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161045c565b6001600160a01b0382163014156112b25760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f207468652042616e6b206164646044820152637265737360e01b606482015260840161045c565b6001600160a01b0383166000908152600260205260409020548181101561131b5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e636500604482015260640161045c565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611352908490611703565b92505081905550826001600160a01b0316846001600160a01b03167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d242618460405161139e91815260200190565b60405180910390a350505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461142057600080fd5b919050565b6000806040838503121561143857600080fd5b61144183611409565b946020939093013593505050565b60008083601f84011261146157600080fd5b50813567ffffffffffffffff81111561147957600080fd5b6020830191508360208260051b850101111561149457600080fd5b9250929050565b600080600080604085870312156114b157600080fd5b843567ffffffffffffffff808211156114c957600080fd5b6114d58883890161144f565b909650945060208701359150808211156114ee57600080fd5b506114fb8782880161144f565b95989497509550505050565b60006020828403121561151957600080fd5b5035919050565b60006020828403121561153257600080fd5b61153b82611409565b9392505050565b60008060006060848603121561155757600080fd5b61156084611409565b925061156e60208501611409565b9150604084013590509250925092565b60008060008060006060868803121561159657600080fd5b61159f86611409565b9450602086013567ffffffffffffffff808211156115bc57600080fd5b6115c889838a0161144f565b909650945060408801359150808211156115e157600080fd5b506115ee8882890161144f565b969995985093965092949392505050565b600080600080600080600060e0888a03121561161a57600080fd5b61162388611409565b965061163160208901611409565b95506040880135945060608801359350608088013560ff8116811461165557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561168557600080fd5b61168e83611409565b915061169c60208401611409565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156116e5576116e56116bb565b5060010190565b6000828210156116fe576116fe6116bb565b500390565b60008219821115611716576117166116bb565b500190565b6040808252810184905260008560608301825b8781101561175c576001600160a01b0361174784611409565b1682526020928301929091019060010161172e565b5083810360208501528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561179557600080fd5b8460051b91508186602083013760009101602001908152969550505050505056fea2646970667358221220daf90923e6ffe597897a90cd5fa71070c3b533a871798a2d54abb364a3dc1af064736f6c63430008090033",
534
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063b4f94b2e1161008c578063dd62ed3e11610066578063dd62ed3e14610375578063e78cea92146103a0578063f2fde38b146103b357600080fd5b8063b4f94b2e14610328578063bb7e61bc1461034f578063d505accf1461036257600080fd5b8063771da5c5116100bd578063771da5c5146102c95780637c6db49c146102f05780638da5cb5b1461030357600080fd5b806370a082311461028157806370ae92d2146102a1578063715018a6146102c157600080fd5b8063392aee43116101455780635b86f5991161011f5780635b86f599146102485780635bfd99b91461025b5780636eb382121461026e57600080fd5b8063392aee431461020f57806346b05e091461022257806356a6d9ef1461023557600080fd5b8063266a123a11610176578063266a123a146101ba57806330adf81f146101cd5780633644e5151461020757600080fd5b80630b6d324c1461019257806315b9b92a146101a7575b600080fd5b6101a56101a0366004611425565b6103c6565b005b6101a56101b5366004611425565b610477565b6101a56101c836600461149b565b6104ff565b6101f47f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6040519081526020015b60405180910390f35b6101f4610614565b6101a561021d366004611507565b610764565b6101a5610230366004611425565b6107c0565b6101a5610243366004611425565b6107cf565b6101a5610256366004611425565b6107da565b6101a5610269366004611425565b61083e565b6101a561027c366004611520565b610879565b6101f461028f366004611520565b60026020526000908152604090205481565b6101f46102af366004611520565b60046020526000908152604090205481565b6101a561098a565b6101f47f000000000000000000000000000000000000000000000000000000000000000081565b6101a56102fe366004611542565b6109f0565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101fe565b6101f47f000000000000000000000000000000000000000000000000000000000000000081565b6101a561035d36600461157e565b610ab1565b6101a56103703660046115ff565b610c2e565b6101f4610383366004611672565b600360209081526000928352604080842090915290825290205481565b600154610310906001600160a01b031681565b6101a56103c1366004611520565b610f3e565b3360009081526003602090815260408083206001600160a01b0386168452909152902054818110156104655760405162461bcd60e51b815260206004820152602d60248201527f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60448201527f63652062656c6f77207a65726f0000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104723384848403611020565b505050565b610482338383611020565b6040517f53794137000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b03831690635379413790604401600060405180830381600087803b1580156104e357600080fd5b505af11580156104f7573d6000803e3d6000fd5b505050505050565b6001546001600160a01b031633146105595760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206272696467650000000000000000604482015260640161045c565b8281146105a85760405162461bcd60e51b815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e677468604482015260640161045c565b60005b8381101561060d576105fb8585838181106105c8576105c86116a5565b90506020020160208101906105dd9190611520565b8484848181106105ef576105ef6116a5565b905060200201356110fd565b80610605816116d1565b9150506105ab565b5050505050565b60007f000000000000000000000000000000000000000000000000000000000000000046141561066357507f000000000000000000000000000000000000000000000000000000000000000090565b50604080518082018252600981527f544254432042616e6b000000000000000000000000000000000000000000000060209182015281518083018352600181527f31000000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa1cc9cffb2f2444066e5c95caef7925ee7ef97efc6002db29d3637e98e2f0dd2818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b33600090815260026020526040812080548392906107839084906116ec565b909155505060405181815233907f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff9060200160405180910390a250565b6107cb338383611020565b5050565b6107cb3383836111eb565b6001546001600160a01b031633146108345760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206272696467650000000000000000604482015260640161045c565b6107cb82826110fd565b3360008181526003602090815260408083206001600160a01b03871684529091529020546107cb91908490610874908590611703565b611020565b6000546001600160a01b031633146108d35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b6001600160a01b0381166109295760405162461bcd60e51b815260206004820152601e60248201527f4272696467652061646472657373206d757374206e6f74206265203078300000604482015260640161045c565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6000546001600160a01b031633146109e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b6109ee60006113ac565b565b6001600160a01b03831660009081526003602090815260408083203384529091529020546000198114610aa05781811015610a935760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360448201527f6500000000000000000000000000000000000000000000000000000000000000606482015260840161045c565b610aa08433848403611020565b610aab8484846111eb565b50505050565b6001546001600160a01b03163314610b0b5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420746865206272696467650000000000000000604482015260640161045c565b828114610b5a5760405162461bcd60e51b815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e677468604482015260640161045c565b6000805b82811015610b9e57838382818110610b7857610b786116a5565b9050602002013582610b8a9190611703565b915080610b96816116d1565b915050610b5e565b50610ba986826110fd565b6040517f461c63730000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063461c637390610bf490889088908890889060040161171b565b600060405180830381600087803b158015610c0e57600080fd5b505af1158015610c22573d6000803e3d6000fd5b50505050505050505050565b42841015610c7e5760405162461bcd60e51b815260206004820152601260248201527f5065726d697373696f6e20657870697265640000000000000000000000000000604482015260640161045c565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0811115610cee5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202773272076616c75650000000000604482015260640161045c565b8260ff16601b1480610d0357508260ff16601c145b610d4f5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202776272076616c75650000000000604482015260640161045c565b6000610d59610614565b6001600160a01b038916600090815260046020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92909190610da7836116d1565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001610e3b9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ea6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610edc5750886001600160a01b0316816001600160a01b0316145b610f285760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015260640161045c565b610f33898989611020565b505050505050505050565b6000546001600160a01b03163314610f985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b6001600160a01b0381166110145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161045c565b61101d816113ac565b50565b6001600160a01b03821661109c5760405162461bcd60e51b815260206004820152602360248201527f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161045c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405910160405180910390a3505050565b6001600160a01b03821630141561117c5760405162461bcd60e51b815260206004820152602160248201527f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60448201527f6b00000000000000000000000000000000000000000000000000000000000000606482015260840161045c565b6001600160a01b038216600090815260026020526040812080548392906111a4908490611703565b90915550506040518181526001600160a01b038316907f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b9060200160405180910390a25050565b6001600160a01b03821661124d5760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161045c565b6001600160a01b0382163014156112b25760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f207468652042616e6b206164646044820152637265737360e01b606482015260840161045c565b6001600160a01b0383166000908152600260205260409020548181101561131b5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e636500604482015260640161045c565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611352908490611703565b92505081905550826001600160a01b0316846001600160a01b03167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d242618460405161139e91815260200190565b60405180910390a350505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461142057600080fd5b919050565b6000806040838503121561143857600080fd5b61144183611409565b946020939093013593505050565b60008083601f84011261146157600080fd5b50813567ffffffffffffffff81111561147957600080fd5b6020830191508360208260051b850101111561149457600080fd5b9250929050565b600080600080604085870312156114b157600080fd5b843567ffffffffffffffff808211156114c957600080fd5b6114d58883890161144f565b909650945060208701359150808211156114ee57600080fd5b506114fb8782880161144f565b95989497509550505050565b60006020828403121561151957600080fd5b5035919050565b60006020828403121561153257600080fd5b61153b82611409565b9392505050565b60008060006060848603121561155757600080fd5b61156084611409565b925061156e60208501611409565b9150604084013590509250925092565b60008060008060006060868803121561159657600080fd5b61159f86611409565b9450602086013567ffffffffffffffff808211156115bc57600080fd5b6115c889838a0161144f565b909650945060408801359150808211156115e157600080fd5b506115ee8882890161144f565b969995985093965092949392505050565b600080600080600080600060e0888a03121561161a57600080fd5b61162388611409565b965061163160208901611409565b95506040880135945060608801359350608088013560ff8116811461165557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561168557600080fd5b61168e83611409565b915061169c60208401611409565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156116e5576116e56116bb565b5060010190565b6000828210156116fe576116fe6116bb565b500390565b60008219821115611716576117166116bb565b500190565b6040808252810184905260008560608301825b8781101561175c576001600160a01b0361174784611409565b1682526020928301929091019060010161172e565b5083810360208501528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561179557600080fd5b8460051b91508186602083013760009101602001908152969550505050505056fea2646970667358221220daf90923e6ffe597897a90cd5fa71070c3b533a871798a2d54abb364a3dc1af064736f6c63430008090033",
517
535
  "linkReferences": {},
518
536
  "deployedLinkReferences": {}
519
537
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/a1155826dfa1f8a3eecfffafe048f2a9.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BitcoinTx",
4
+ "sourceName": "contracts/bridge/BitcoinTx.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd2c40d1456f625da802b418785b7ad8428472a904c1782ddef8b4c5e01bd35b64736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd2c40d1456f625da802b418785b7ad8428472a904c1782ddef8b4c5e01bd35b64736f6c63430008090033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2ef2dc9c11f3851fd3437c51b34c4b13.json"
3
+ "buildInfo": "../../../build-info/a1155826dfa1f8a3eecfffafe048f2a9.json"
4
4
  }