@hyperlane-xyz/core 1.3.3 → 1.3.5

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 (182) hide show
  1. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -1
  2. package/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol +64 -0
  3. package/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol +54 -0
  4. package/contracts/isms/multisig/AbstractMultisigIsm.sol +32 -56
  5. package/contracts/isms/multisig/LegacyMultisigIsm.sol +2 -2
  6. package/contracts/isms/multisig/StaticMultisigIsm.sol +49 -14
  7. package/contracts/isms/routing/AbstractRoutingIsm.sol +1 -0
  8. package/contracts/libs/CheckpointLib.sol +10 -2
  9. package/contracts/libs/LegacyCheckpointLib.sol +50 -0
  10. package/contracts/libs/Merkle.sol +2 -1
  11. package/contracts/libs/isms/{MultisigIsmMetadata.sol → MerkleRootMultisigIsmMetadata.sol} +37 -21
  12. package/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol +59 -0
  13. package/contracts/mock/MockHyperlaneEnvironment.sol +3 -3
  14. package/contracts/test/TestLegacyMultisigIsm.sol +2 -2
  15. package/contracts/test/TestMultisigIsm.sol +39 -0
  16. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.d.ts +59 -0
  17. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.d.ts.map +1 -0
  18. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.js +4 -0
  19. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.js.map +1 -0
  20. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.d.ts +59 -0
  21. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.d.ts.map +1 -0
  22. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.js +4 -0
  23. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.js.map +1 -0
  24. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.d.ts +59 -0
  25. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.d.ts.map +1 -0
  26. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.js +4 -0
  27. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.js.map +1 -0
  28. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.d.ts +59 -0
  29. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.d.ts.map +1 -0
  30. package/dist/contracts/isms/multisig/{StaticMultisigIsmFactory.js → StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.js} +1 -1
  31. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.js.map +1 -0
  32. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory.d.ts +59 -0
  33. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory.d.ts.map +1 -0
  34. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory.js +4 -0
  35. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory.js.map +1 -0
  36. package/dist/contracts/isms/multisig/{StaticMultisigIsm.d.ts → StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.d.ts} +5 -5
  37. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.d.ts.map +1 -0
  38. package/dist/contracts/isms/multisig/{StaticMultisigIsm.js → StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.js} +1 -1
  39. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.js.map +1 -0
  40. package/dist/contracts/isms/multisig/{StaticMultisigIsmFactory.d.ts → StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory.d.ts} +5 -5
  41. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory.d.ts.map +1 -0
  42. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory.js +4 -0
  43. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory.js.map +1 -0
  44. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/index.d.ts +6 -0
  45. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/index.d.ts.map +1 -0
  46. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/index.js +3 -0
  47. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/index.js.map +1 -0
  48. package/dist/contracts/isms/multisig/index.d.ts +4 -2
  49. package/dist/contracts/isms/multisig/index.d.ts.map +1 -1
  50. package/dist/contracts/isms/multisig/index.js +1 -0
  51. package/dist/contracts/isms/multisig/index.js.map +1 -1
  52. package/dist/contracts/test/{TestIsm.d.ts → TestMultisigIsm.d.ts} +13 -5
  53. package/dist/contracts/test/TestMultisigIsm.d.ts.map +1 -0
  54. package/dist/contracts/test/{TestIsm.js → TestMultisigIsm.js} +1 -1
  55. package/dist/contracts/test/TestMultisigIsm.js.map +1 -0
  56. package/dist/contracts/test/index.d.ts +1 -1
  57. package/dist/contracts/test/index.d.ts.map +1 -1
  58. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  59. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  60. package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
  61. package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
  62. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  63. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  64. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  65. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  66. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.d.ts +23 -0
  67. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.d.ts.map +1 -0
  68. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.js +79 -0
  69. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.js.map +1 -0
  70. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.d.ts +23 -0
  71. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.d.ts.map +1 -0
  72. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.js +79 -0
  73. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.js.map +1 -0
  74. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +1 -1
  75. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts.map +1 -1
  76. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +1 -1
  77. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js.map +1 -1
  78. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.d.ts +23 -0
  79. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.d.ts.map +1 -0
  80. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.js +79 -0
  81. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.js.map +1 -0
  82. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +35 -0
  83. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts.map +1 -0
  84. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +89 -0
  85. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js.map +1 -0
  86. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +35 -0
  87. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts.map +1 -0
  88. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +102 -0
  89. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js.map +1 -0
  90. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +35 -0
  91. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts.map +1 -0
  92. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +89 -0
  93. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js.map +1 -0
  94. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +35 -0
  95. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts.map +1 -0
  96. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +102 -0
  97. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js.map +1 -0
  98. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/index.d.ts +6 -0
  99. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/index.d.ts.map +1 -0
  100. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/index.js +17 -0
  101. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/index.js.map +1 -0
  102. package/dist/factories/contracts/isms/multisig/index.d.ts +3 -2
  103. package/dist/factories/contracts/isms/multisig/index.d.ts.map +1 -1
  104. package/dist/factories/contracts/isms/multisig/index.js +29 -5
  105. package/dist/factories/contracts/isms/multisig/index.js.map +1 -1
  106. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.d.ts +1 -1
  107. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.js +1 -1
  108. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  109. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  110. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  111. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  112. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  113. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  114. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  115. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  116. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  117. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  118. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  119. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  120. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  121. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  122. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  123. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  124. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  125. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  126. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  127. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  128. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  129. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  130. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  131. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  132. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
  133. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
  134. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +1 -1
  135. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts.map +1 -1
  136. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +1 -1
  137. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js.map +1 -1
  138. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  139. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  140. package/dist/factories/contracts/test/TestMerkle__factory.d.ts +1 -1
  141. package/dist/factories/contracts/test/TestMerkle__factory.js +1 -1
  142. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +41 -0
  143. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts.map +1 -0
  144. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +133 -0
  145. package/dist/factories/contracts/test/TestMultisigIsm__factory.js.map +1 -0
  146. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  147. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  148. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  149. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  150. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  151. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  152. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  153. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  154. package/dist/factories/contracts/test/index.d.ts +1 -1
  155. package/dist/factories/contracts/test/index.d.ts.map +1 -1
  156. package/dist/factories/contracts/test/index.js +3 -3
  157. package/dist/factories/contracts/test/index.js.map +1 -1
  158. package/dist/index.d.ts +16 -6
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +18 -8
  161. package/dist/index.js.map +1 -1
  162. package/package.json +4 -4
  163. package/contracts/isms/multisig/StaticMultisigIsmFactory.sol +0 -16
  164. package/contracts/test/TestIsm.sol +0 -25
  165. package/dist/contracts/isms/multisig/StaticMultisigIsm.d.ts.map +0 -1
  166. package/dist/contracts/isms/multisig/StaticMultisigIsm.js.map +0 -1
  167. package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.d.ts.map +0 -1
  168. package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.js.map +0 -1
  169. package/dist/contracts/test/TestIsm.d.ts.map +0 -1
  170. package/dist/contracts/test/TestIsm.js.map +0 -1
  171. package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.d.ts +0 -35
  172. package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.d.ts.map +0 -1
  173. package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.js +0 -89
  174. package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.js.map +0 -1
  175. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.d.ts +0 -35
  176. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.d.ts.map +0 -1
  177. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.js +0 -102
  178. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.js.map +0 -1
  179. package/dist/factories/contracts/test/TestIsm__factory.d.ts +0 -41
  180. package/dist/factories/contracts/test/TestIsm__factory.d.ts.map +0 -1
  181. package/dist/factories/contracts/test/TestIsm__factory.js +0 -109
  182. package/dist/factories/contracts/test/TestIsm__factory.js.map +0 -1
@@ -12,7 +12,7 @@ export declare class TestMailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestMailbox;
14
14
  connect(signer: Signer): TestMailbox__factory;
15
- static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204154f4a570244badd953c8fab25ddcd4b380d4d911182a985b1550d5d80e582d64736f6c63430008110033";
15
+ static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122064558d38d29c92875dbf5ca415973a954a7120454d42d55e7d48100d39cf11ab64736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: {
18
18
  internalType: string;
@@ -481,7 +481,7 @@ const _abi = [
481
481
  type: "function",
482
482
  },
483
483
  ];
484
- const _bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204154f4a570244badd953c8fab25ddcd4b380d4d911182a985b1550d5d80e582d64736f6c63430008110033";
484
+ const _bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122064558d38d29c92875dbf5ca415973a954a7120454d42d55e7d48100d39cf11ab64736f6c63430008110033";
485
485
  const isSuperArgs = (xs) => xs.length > 1;
486
486
  class TestMailbox__factory extends ethers_1.ContractFactory {
487
487
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestMerkle__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestMerkle;
14
14
  connect(signer: Signer): TestMerkle__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50610bc3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806377d63d1d1161005057806377d63d1d14610097578063ebf0c717146100aa578063fd54b228146100b257600080fd5b806306661abd1461006c5780632d287e4314610082575b600080fd5b6020545b60405190815260200160405180910390f35b6100956100903660046108dd565b6100bc565b005b6100706100a53660046108f6565b6100ca565b610070610108565b6020546100709081565b6100c7600082610119565b50565b60006101008484602080602002604051908101604052809291908260208002808284376000920191909152508691506102619050565b949350505050565b60006101146000610312565b905090565b600161012760206002610a83565b6101319190610a96565b8260200154106101a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015260640160405180910390fd5b60018260200160008282546101b69190610aa9565b9091555050602082015460005b602081101561025357816001166001036101f257828482602081106101ea576101ea610abc565b015550505050565b83816020811061020457610204610abc565b0154604080516020810192909252810184905260600160405160208183030381529060405280519060200120925060028261023f9190610aeb565b91508061024b81610b26565b9150506101c3565b5061025c610b5e565b505050565b8260005b602081101561030a57600183821c16600085836020811061028857610288610abc565b60200201519050816001036102c85760408051602081018390529081018590526060016040516020818303038152906040528051906020012093506102f5565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061030290610b26565b915050610265565b509392505050565b60006103258261032061032b565b6107ec565b92915050565b6103336108be565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b60208110156108b657600182821c16600086836020811061081957610819610abc565b01549050816001036108565760408051602081018390529081018690526060016040516020818303038152906040528051906020012094506108a1565b8486846020811061086957610869610abc565b6020020151604051602001610888929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b505080806108ae90610b26565b9150506107f6565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b6000602082840312156108ef57600080fd5b5035919050565b6000806000610440848603121561090c57600080fd5b8335925061042084018581111561092257600080fd5b60208501925080359150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b808511156109bc57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156109a2576109a2610934565b808516156109af57918102915b93841c9390800290610968565b509250929050565b6000826109d357506001610325565b816109e057506000610325565b81600181146109f65760028114610a0057610a1c565b6001915050610325565b60ff841115610a1157610a11610934565b50506001821b610325565b5060208310610133831016604e8410600b8410161715610a3f575081810a610325565b610a498383610963565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610a7b57610a7b610934565b029392505050565b6000610a8f83836109c4565b9392505050565b8181038181111561032557610325610934565b8082018082111561032557610325610934565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610b21577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b5757610b57610934565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220511c21371c1adc2237cd910f9ae125dabfe369ccd77dbd1433b985f345511fe264736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50610bc3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806377d63d1d1161005057806377d63d1d14610097578063ebf0c717146100aa578063fd54b228146100b257600080fd5b806306661abd1461006c5780632d287e4314610082575b600080fd5b6020545b60405190815260200160405180910390f35b6100956100903660046108dd565b6100bc565b005b6100706100a53660046108f6565b6100ca565b610070610108565b6020546100709081565b6100c7600082610119565b50565b60006101008484602080602002604051908101604052809291908260208002808284376000920191909152508691506102619050565b949350505050565b60006101146000610312565b905090565b600161012760206002610a83565b6101319190610a96565b8260200154106101a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015260640160405180910390fd5b60018260200160008282546101b69190610aa9565b9091555050602082015460005b602081101561025357816001166001036101f257828482602081106101ea576101ea610abc565b015550505050565b83816020811061020457610204610abc565b0154604080516020810192909252810184905260600160405160208183030381529060405280519060200120925060028261023f9190610aeb565b91508061024b81610b26565b9150506101c3565b5061025c610b5e565b505050565b8260005b602081101561030a57600183821c16600085836020811061028857610288610abc565b60200201519050816001036102c85760408051602081018390529081018590526060016040516020818303038152906040528051906020012093506102f5565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061030290610b26565b915050610265565b509392505050565b60006103258261032061032b565b6107ec565b92915050565b6103336108be565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b60208110156108b657600182821c16600086836020811061081957610819610abc565b01549050816001036108565760408051602081018390529081018690526060016040516020818303038152906040528051906020012094506108a1565b8486846020811061086957610869610abc565b6020020151604051602001610888929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b505080806108ae90610b26565b9150506107f6565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b6000602082840312156108ef57600080fd5b5035919050565b6000806000610440848603121561090c57600080fd5b8335925061042084018581111561092257600080fd5b60208501925080359150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b808511156109bc57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156109a2576109a2610934565b808516156109af57918102915b93841c9390800290610968565b509250929050565b6000826109d357506001610325565b816109e057506000610325565b81600181146109f65760028114610a0057610a1c565b6001915050610325565b60ff841115610a1157610a11610934565b50506001821b610325565b5060208310610133831016604e8410600b8410161715610a3f575081810a610325565b610a498383610963565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610a7b57610a7b610934565b029392505050565b6000610a8f83836109c4565b9392505050565b8181038181111561032557610325610934565b8082018082111561032557610325610934565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610b21577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b5757610b57610934565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220fc4c36222630cbb3072d686ea8c2eead48c41a64a366ba1e580764fb19e1122f64736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: never[];
18
18
  stateMutability: string;
@@ -91,7 +91,7 @@ const _abi = [
91
91
  type: "function",
92
92
  },
93
93
  ];
94
- const _bytecode = "0x608060405234801561001057600080fd5b50610bc3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806377d63d1d1161005057806377d63d1d14610097578063ebf0c717146100aa578063fd54b228146100b257600080fd5b806306661abd1461006c5780632d287e4314610082575b600080fd5b6020545b60405190815260200160405180910390f35b6100956100903660046108dd565b6100bc565b005b6100706100a53660046108f6565b6100ca565b610070610108565b6020546100709081565b6100c7600082610119565b50565b60006101008484602080602002604051908101604052809291908260208002808284376000920191909152508691506102619050565b949350505050565b60006101146000610312565b905090565b600161012760206002610a83565b6101319190610a96565b8260200154106101a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015260640160405180910390fd5b60018260200160008282546101b69190610aa9565b9091555050602082015460005b602081101561025357816001166001036101f257828482602081106101ea576101ea610abc565b015550505050565b83816020811061020457610204610abc565b0154604080516020810192909252810184905260600160405160208183030381529060405280519060200120925060028261023f9190610aeb565b91508061024b81610b26565b9150506101c3565b5061025c610b5e565b505050565b8260005b602081101561030a57600183821c16600085836020811061028857610288610abc565b60200201519050816001036102c85760408051602081018390529081018590526060016040516020818303038152906040528051906020012093506102f5565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061030290610b26565b915050610265565b509392505050565b60006103258261032061032b565b6107ec565b92915050565b6103336108be565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b60208110156108b657600182821c16600086836020811061081957610819610abc565b01549050816001036108565760408051602081018390529081018690526060016040516020818303038152906040528051906020012094506108a1565b8486846020811061086957610869610abc565b6020020151604051602001610888929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b505080806108ae90610b26565b9150506107f6565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b6000602082840312156108ef57600080fd5b5035919050565b6000806000610440848603121561090c57600080fd5b8335925061042084018581111561092257600080fd5b60208501925080359150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b808511156109bc57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156109a2576109a2610934565b808516156109af57918102915b93841c9390800290610968565b509250929050565b6000826109d357506001610325565b816109e057506000610325565b81600181146109f65760028114610a0057610a1c565b6001915050610325565b60ff841115610a1157610a11610934565b50506001821b610325565b5060208310610133831016604e8410600b8410161715610a3f575081810a610325565b610a498383610963565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610a7b57610a7b610934565b029392505050565b6000610a8f83836109c4565b9392505050565b8181038181111561032557610325610934565b8082018082111561032557610325610934565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610b21577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b5757610b57610934565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220511c21371c1adc2237cd910f9ae125dabfe369ccd77dbd1433b985f345511fe264736f6c63430008110033";
94
+ const _bytecode = "0x608060405234801561001057600080fd5b50610bc3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806377d63d1d1161005057806377d63d1d14610097578063ebf0c717146100aa578063fd54b228146100b257600080fd5b806306661abd1461006c5780632d287e4314610082575b600080fd5b6020545b60405190815260200160405180910390f35b6100956100903660046108dd565b6100bc565b005b6100706100a53660046108f6565b6100ca565b610070610108565b6020546100709081565b6100c7600082610119565b50565b60006101008484602080602002604051908101604052809291908260208002808284376000920191909152508691506102619050565b949350505050565b60006101146000610312565b905090565b600161012760206002610a83565b6101319190610a96565b8260200154106101a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015260640160405180910390fd5b60018260200160008282546101b69190610aa9565b9091555050602082015460005b602081101561025357816001166001036101f257828482602081106101ea576101ea610abc565b015550505050565b83816020811061020457610204610abc565b0154604080516020810192909252810184905260600160405160208183030381529060405280519060200120925060028261023f9190610aeb565b91508061024b81610b26565b9150506101c3565b5061025c610b5e565b505050565b8260005b602081101561030a57600183821c16600085836020811061028857610288610abc565b60200201519050816001036102c85760408051602081018390529081018590526060016040516020818303038152906040528051906020012093506102f5565b60408051602081018690529081018290526060016040516020818303038152906040528051906020012093505b5050808061030290610b26565b915050610265565b509392505050565b60006103258261032061032b565b6107ec565b92915050565b6103336108be565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b60208110156108b657600182821c16600086836020811061081957610819610abc565b01549050816001036108565760408051602081018390529081018690526060016040516020818303038152906040528051906020012094506108a1565b8486846020811061086957610869610abc565b6020020151604051602001610888929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b505080806108ae90610b26565b9150506107f6565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b6000602082840312156108ef57600080fd5b5035919050565b6000806000610440848603121561090c57600080fd5b8335925061042084018581111561092257600080fd5b60208501925080359150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b808511156109bc57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156109a2576109a2610934565b808516156109af57918102915b93841c9390800290610968565b509250929050565b6000826109d357506001610325565b816109e057506000610325565b81600181146109f65760028114610a0057610a1c565b6001915050610325565b60ff841115610a1157610a11610934565b50506001821b610325565b5060208310610133831016604e8410600b8410161715610a3f575081810a610325565b610a498383610963565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610a7b57610a7b610934565b029392505050565b6000610a8f83836109c4565b9392505050565b8181038181111561032557610325610934565b8082018082111561032557610325610934565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610b21577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b5757610b57610934565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220fc4c36222630cbb3072d686ea8c2eead48c41a64a366ba1e580764fb19e1122f64736f6c63430008110033";
95
95
  const isSuperArgs = (xs) => xs.length > 1;
96
96
  class TestMerkle__factory extends ethers_1.ContractFactory {
97
97
  constructor(...args) {
@@ -0,0 +1,41 @@
1
+ import type { TestMultisigIsm, TestMultisigIsmInterface } from "../../../contracts/test/TestMultisigIsm";
2
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
3
+ import { Signer, ContractFactory, Overrides } from "ethers";
4
+ declare type TestMultisigIsmConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
+ export declare class TestMultisigIsm__factory extends ContractFactory {
6
+ constructor(...args: TestMultisigIsmConstructorParams);
7
+ deploy(overrides?: Overrides & {
8
+ from?: string | Promise<string>;
9
+ }): Promise<TestMultisigIsm>;
10
+ getDeployTransaction(overrides?: Overrides & {
11
+ from?: string | Promise<string>;
12
+ }): TransactionRequest;
13
+ attach(address: string): TestMultisigIsm;
14
+ connect(signer: Signer): TestMultisigIsm__factory;
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b506000805460ff191660011790556103778061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80634fc3aa7c116100505780634fc3aa7c146100af5780636465e69f146100f0578063f7e83aee1461010a57600080fd5b80632852b71c1461006c5780632e0ed2341461008e575b600080fd5b6000546100799060ff1681565b60405190151581526020015b60405180910390f35b6100a161009c3660046101d7565b610126565b604051610085929190610219565b6100ee6100bd36600461027d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100f8600481565b60405160ff9091168152602001610085565b6100796101183660046102a6565b60005460ff16949350505050565b60408051600180825281830190925260609160009182916020808301908036833701905050905060008160008151811061016257610162610312565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529150600190505b9250929050565b60008083601f8401126101a757600080fd5b50813567ffffffffffffffff8111156101bf57600080fd5b60208301915083602082850101111561018e57600080fd5b600080602083850312156101ea57600080fd5b823567ffffffffffffffff81111561020157600080fd5b61020d85828601610195565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561026857815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610236565b50505060ff9490941692019190915250919050565b60006020828403121561028f57600080fd5b8135801515811461029f57600080fd5b9392505050565b600080600080604085870312156102bc57600080fd5b843567ffffffffffffffff808211156102d457600080fd5b6102e088838901610195565b909650945060208701359150808211156102f957600080fd5b5061030687828801610195565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220736dcf0da1ca2b9de2aae3f57e87144f05a83d3274efd8b83524cb2e2da5b6f864736f6c63430008110033";
16
+ static readonly abi: ({
17
+ inputs: never[];
18
+ stateMutability: string;
19
+ type: string;
20
+ name?: undefined;
21
+ outputs?: undefined;
22
+ } | {
23
+ inputs: {
24
+ internalType: string;
25
+ name: string;
26
+ type: string;
27
+ }[];
28
+ name: string;
29
+ outputs: {
30
+ internalType: string;
31
+ name: string;
32
+ type: string;
33
+ }[];
34
+ stateMutability: string;
35
+ type: string;
36
+ })[];
37
+ static createInterface(): TestMultisigIsmInterface;
38
+ static connect(address: string, signerOrProvider: Signer | Provider): TestMultisigIsm;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=TestMultisigIsm__factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestMultisigIsm__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/test/TestMultisigIsm__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAoG7E,aAAK,gCAAgC,GACjC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,wBAAyB,SAAQ,eAAe;gBAC/C,GAAG,IAAI,EAAE,gCAAgC;IAQ5C,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,eAAe,CAAC;IAGlB,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAGxC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;IAI1D,MAAM,CAAC,QAAQ,CAAC,QAAQ,g1DAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;SAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,wBAAwB;IAGlD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,eAAe;CAGnB"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TestMultisigIsm__factory = void 0;
5
+ const ethers_1 = require("ethers");
6
+ const _abi = [
7
+ {
8
+ inputs: [],
9
+ stateMutability: "nonpayable",
10
+ type: "constructor",
11
+ },
12
+ {
13
+ inputs: [],
14
+ name: "accept",
15
+ outputs: [
16
+ {
17
+ internalType: "bool",
18
+ name: "",
19
+ type: "bool",
20
+ },
21
+ ],
22
+ stateMutability: "view",
23
+ type: "function",
24
+ },
25
+ {
26
+ inputs: [],
27
+ name: "moduleType",
28
+ outputs: [
29
+ {
30
+ internalType: "uint8",
31
+ name: "",
32
+ type: "uint8",
33
+ },
34
+ ],
35
+ stateMutability: "view",
36
+ type: "function",
37
+ },
38
+ {
39
+ inputs: [
40
+ {
41
+ internalType: "bool",
42
+ name: "_val",
43
+ type: "bool",
44
+ },
45
+ ],
46
+ name: "setAccept",
47
+ outputs: [],
48
+ stateMutability: "nonpayable",
49
+ type: "function",
50
+ },
51
+ {
52
+ inputs: [
53
+ {
54
+ internalType: "bytes",
55
+ name: "",
56
+ type: "bytes",
57
+ },
58
+ ],
59
+ name: "validatorsAndThreshold",
60
+ outputs: [
61
+ {
62
+ internalType: "address[]",
63
+ name: "",
64
+ type: "address[]",
65
+ },
66
+ {
67
+ internalType: "uint8",
68
+ name: "",
69
+ type: "uint8",
70
+ },
71
+ ],
72
+ stateMutability: "pure",
73
+ type: "function",
74
+ },
75
+ {
76
+ inputs: [
77
+ {
78
+ internalType: "bytes",
79
+ name: "",
80
+ type: "bytes",
81
+ },
82
+ {
83
+ internalType: "bytes",
84
+ name: "",
85
+ type: "bytes",
86
+ },
87
+ ],
88
+ name: "verify",
89
+ outputs: [
90
+ {
91
+ internalType: "bool",
92
+ name: "",
93
+ type: "bool",
94
+ },
95
+ ],
96
+ stateMutability: "view",
97
+ type: "function",
98
+ },
99
+ ];
100
+ const _bytecode = "0x608060405234801561001057600080fd5b506000805460ff191660011790556103778061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80634fc3aa7c116100505780634fc3aa7c146100af5780636465e69f146100f0578063f7e83aee1461010a57600080fd5b80632852b71c1461006c5780632e0ed2341461008e575b600080fd5b6000546100799060ff1681565b60405190151581526020015b60405180910390f35b6100a161009c3660046101d7565b610126565b604051610085929190610219565b6100ee6100bd36600461027d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100f8600481565b60405160ff9091168152602001610085565b6100796101183660046102a6565b60005460ff16949350505050565b60408051600180825281830190925260609160009182916020808301908036833701905050905060008160008151811061016257610162610312565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529150600190505b9250929050565b60008083601f8401126101a757600080fd5b50813567ffffffffffffffff8111156101bf57600080fd5b60208301915083602082850101111561018e57600080fd5b600080602083850312156101ea57600080fd5b823567ffffffffffffffff81111561020157600080fd5b61020d85828601610195565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561026857815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610236565b50505060ff9490941692019190915250919050565b60006020828403121561028f57600080fd5b8135801515811461029f57600080fd5b9392505050565b600080600080604085870312156102bc57600080fd5b843567ffffffffffffffff808211156102d457600080fd5b6102e088838901610195565b909650945060208701359150808211156102f957600080fd5b5061030687828801610195565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220736dcf0da1ca2b9de2aae3f57e87144f05a83d3274efd8b83524cb2e2da5b6f864736f6c63430008110033";
101
+ const isSuperArgs = (xs) => xs.length > 1;
102
+ class TestMultisigIsm__factory extends ethers_1.ContractFactory {
103
+ constructor(...args) {
104
+ if (isSuperArgs(args)) {
105
+ super(...args);
106
+ }
107
+ else {
108
+ super(_abi, _bytecode, args[0]);
109
+ }
110
+ }
111
+ deploy(overrides) {
112
+ return super.deploy(overrides || {});
113
+ }
114
+ getDeployTransaction(overrides) {
115
+ return super.getDeployTransaction(overrides || {});
116
+ }
117
+ attach(address) {
118
+ return super.attach(address);
119
+ }
120
+ connect(signer) {
121
+ return super.connect(signer);
122
+ }
123
+ static createInterface() {
124
+ return new ethers_1.utils.Interface(_abi);
125
+ }
126
+ static connect(address, signerOrProvider) {
127
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
128
+ }
129
+ }
130
+ exports.TestMultisigIsm__factory = TestMultisigIsm__factory;
131
+ TestMultisigIsm__factory.bytecode = _bytecode;
132
+ TestMultisigIsm__factory.abi = _abi;
133
+ //# sourceMappingURL=TestMultisigIsm__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestMultisigIsm__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/test/TestMultisigIsm__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAU/C,mCAA6E;AAE7E,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,SAAS,GACb,40DAA40D,CAAC;AAM/0D,MAAM,WAAW,GAAG,CAClB,EAAoC,EACiB,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,wBAAyB,SAAQ,wBAAe;IAC3D,YAAY,GAAG,IAAsC;QACnD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;aAAM;YACL,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAEQ,MAAM,CACb,SAA2D;QAE3D,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA6B,CAAC;IACnE,CAAC;IACQ,oBAAoB,CAC3B,SAA2D;QAE3D,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAoB,CAAC;IAClD,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAA6B,CAAC;IAC3D,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAA6B,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAoB,CAAC;IAC1E,CAAC;;AApCH,4DAqCC;AAXiB,iCAAQ,GAAG,SAAS,CAAC;AACrB,4BAAG,GAAG,IAAI,CAAC"}
@@ -12,7 +12,7 @@ export declare class TestQuery__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestQuery;
14
14
  connect(signer: Signer): TestQuery__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea2646970667358221220eb1d61f3210a25362841fdb38ad5c8db64c384000ee42d09496c8556659e577c64736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea264697066735822122063da5c872c9f71091a8d670a7140a92dc1204e45aedc5bd7fc86e878101b077b64736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: {
18
18
  internalType: string;
@@ -84,7 +84,7 @@ const _abi = [
84
84
  type: "function",
85
85
  },
86
86
  ];
87
- const _bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea2646970667358221220eb1d61f3210a25362841fdb38ad5c8db64c384000ee42d09496c8556659e577c64736f6c63430008110033";
87
+ const _bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea264697066735822122063da5c872c9f71091a8d670a7140a92dc1204e45aedc5bd7fc86e878101b077b64736f6c63430008110033";
88
88
  const isSuperArgs = (xs) => xs.length > 1;
89
89
  class TestQuery__factory extends ethers_1.ContractFactory {
90
90
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestRecipient__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestRecipient;
14
14
  connect(signer: Signer): TestRecipient__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea2646970667358221220971699292bb904f6085b8dacb8dcd72f2d777c6c4660bfd65c63ccfcba74b5f764736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea2646970667358221220dba4a458359b147e4c808c638aaf5c4bf4c9c2a561096b5c4780367362d1429264736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  anonymous: boolean;
18
18
  inputs: {
@@ -226,7 +226,7 @@ const _abi = [
226
226
  type: "function",
227
227
  },
228
228
  ];
229
- const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea2646970667358221220971699292bb904f6085b8dacb8dcd72f2d777c6c4660bfd65c63ccfcba74b5f764736f6c63430008110033";
229
+ const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea2646970667358221220dba4a458359b147e4c808c638aaf5c4bf4c9c2a561096b5c4780367362d1429264736f6c63430008110033";
230
230
  const isSuperArgs = (xs) => xs.length > 1;
231
231
  class TestRecipient__factory extends ethers_1.ContractFactory {
232
232
  constructor(...args) {