@hyperlane-xyz/core 5.1.2 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -2
  2. package/contracts/isms/hook/ArbL2ToL1Ism.sol +8 -10
  3. package/contracts/isms/multisig/WeightedMultisigIsm.sol +2 -2
  4. package/contracts/token/HypNative.sol +0 -24
  5. package/contracts/token/extensions/HypNativeScaled.sol +0 -25
  6. package/dist/buildArtifact.js +1 -1
  7. package/dist/buildArtifact.json +1 -1
  8. package/dist/contracts/token/HypNative.d.ts +5 -5
  9. package/dist/contracts/token/HypNative.d.ts.map +1 -1
  10. package/dist/contracts/token/extensions/HypNativeScaled.d.ts +5 -5
  11. package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
  12. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  13. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  14. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  15. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  16. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  17. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  18. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  19. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  20. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  21. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  22. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  23. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  24. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  25. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  26. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  27. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  28. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  29. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  30. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  31. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  32. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  33. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  34. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  35. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  36. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  37. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  38. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  39. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  40. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  41. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  42. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  43. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  44. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  45. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  46. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  47. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  48. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  49. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  50. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  51. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  52. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  53. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
  54. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  55. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
  56. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  57. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  58. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  59. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  60. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  61. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  62. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  63. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  64. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  65. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  66. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  67. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  68. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  69. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  70. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  71. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  72. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  73. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  74. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  75. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  76. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  77. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  78. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  79. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  80. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  81. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  82. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  83. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  84. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  85. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  86. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  87. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  88. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  89. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  90. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  91. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  92. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  93. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  94. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  95. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  96. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  97. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  98. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  99. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  100. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  101. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  102. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  103. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  104. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  105. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  106. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  107. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  108. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  109. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  110. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  111. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  112. package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
  113. package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
  114. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  115. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  116. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  117. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  118. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  119. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  120. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  121. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  122. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  123. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  124. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  125. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  126. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  127. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  128. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  129. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  130. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  131. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  132. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  133. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  134. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  135. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  136. package/dist/factories/contracts/token/HypNative__factory.d.ts +2 -2
  137. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  138. package/dist/factories/contracts/token/HypNative__factory.js +2 -2
  139. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  140. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  141. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  142. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  143. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  144. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +1 -1
  145. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +1 -1
  146. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +1 -1
  147. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +1 -1
  148. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +1 -1
  149. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +1 -1
  150. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  151. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  152. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  153. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  154. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  155. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  156. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +2 -2
  157. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
  158. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +2 -2
  159. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
  160. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  161. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  162. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  163. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  164. package/package.json +3 -3
@@ -388,7 +388,7 @@ const _abi = [
388
388
  type: "function",
389
389
  },
390
390
  ];
391
- const _bytecode = "0x6101006040523480156200001257600080fd5b506040516200381838038062003818833981016040819052620000359162000381565b818186868682806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a9190620003e8565b63ffffffff1660a0526200011e33620002fd565b508190506200016e5760405162461bcd60e51b81526020600482015260266024820152600080516020620037f883398151915260448201526569642049534d60d01b606482015260840162000090565b8163ffffffff16600003620001db5760405162461bcd60e51b81526020600482015260356024820152600080516020620037f883398151915260448201527f69642064657374696e6174696f6e20646f6d61696e0000000000000000000000606482015260840162000090565b60c05263ffffffff1660e05250609880546001600160a01b039384166001600160a01b0319918216179091556097805492909316911617905562000228826001600160a01b03163b151590565b620002895760405162461bcd60e51b815260206004820152602a60248201527f506f6c79676f6e506f73486f6f6b3a20696e76616c69642063704d616e6167656044820152691c8818dbdb9d1c9858dd60b21b606482015260840162000090565b6001600160a01b0381163b620002f25760405162461bcd60e51b815260206004820152602760248201527f506f6c79676f6e506f73486f6f6b3a20696e76616c6964206678526f6f7420636044820152661bdb9d1c9858dd60ca1b606482015260840162000090565b50505050506200040d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200036757600080fd5b919050565b805163ffffffff811681146200036757600080fd5b600080600080600060a086880312156200039a57600080fd5b620003a5866200034f565b9450620003b5602087016200036c565b935060408601519250620003cc606087016200034f565b9150620003dc608087016200034f565b90509295509295909350565b600060208284031215620003fb57600080fd5b62000406826200036c565b9392505050565b60805160a05160c05160e0516133a362000455600039600081816102350152610c460152600061029e0152600061037901526000818161047201526113a901526133a36000f3fe6080604052600436106101805760003560e01c80638da5cb5b116100d6578063de523cf31161007f578063e5320bb911610059578063e5320bb91461050a578063f2fde38b1461052a578063f953cec71461054a57600080fd5b8063de523cf314610494578063de9b771f146104c1578063e445e7dd146104ee57600080fd5b8063aea4e49e116100b0578063aea4e49e14610413578063c0857ba014610433578063d5438eae1461046057600080fd5b80638da5cb5b1461039b578063972c4928146103c6578063aaccd230146103f357600080fd5b80633dfd387311610138578063715018a611610112578063715018a6146103005780637f5a7c7b146103155780638d3638f41461036757600080fd5b80633dfd38731461026c5780634deefab21461028c578063607f2d42146102c057600080fd5b80630e72cc06116101695780630e72cc06146101e1578063142bc2ae146102015780632858c55a1461022357600080fd5b8063086011b9146101855780630e387de61461019a575b600080fd5b6101986101933660046129fc565b61056a565b005b3480156101a657600080fd5b506101ce7f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b03681565b6040519081526020015b60405180910390f35b3480156101ed57600080fd5b506101986101fc366004612a8a565b610617565b34801561020d57600080fd5b5061021661072d565b6040516101d89190612b15565b34801561022f57600080fd5b506102577f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101d8565b34801561027857600080fd5b50610198610287366004612a8a565b6107bb565b34801561029857600080fd5b506101ce7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cc57600080fd5b506102f06102db366004612b28565b609a6020526000908152604090205460ff1681565b60405190151581526020016101d8565b34801561030c57600080fd5b506101986108d1565b34801561032157600080fd5b506065546103429073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d8565b34801561037357600080fd5b506102577f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a757600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610342565b3480156103d257600080fd5b506099546103429073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ff57600080fd5b506101ce61040e3660046129fc565b6108e5565b34801561041f57600080fd5b5061019861042e366004612a8a565b610989565b34801561043f57600080fd5b506098546103429073ffffffffffffffffffffffffffffffffffffffff1681565b34801561046c57600080fd5b506103427f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a057600080fd5b506066546103429073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104cd57600080fd5b506097546103429073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104fa57600080fd5b50604051600681526020016101d8565b34801561051657600080fd5b506102f0610525366004612b41565b610a76565b34801561053657600080fd5b50610198610545366004612a8a565b610a9b565b34801561055657600080fd5b50610198610565366004612c47565b610b52565b6105748484610a76565b610605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61061184848484610b6c565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610651575073ffffffffffffffffffffffffffffffffffffffff8116155b6106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105fc565b6106e5610e62565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b609b805461073a90612cc7565b80601f016020809104026020016040519081016040528092919081815260200182805461076690612cc7565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b505050505081565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806107f5575073ffffffffffffffffffffffffffffffffffffffff8116155b610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105fc565b610889610e62565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6108d9610e62565b6108e36000610ee3565b565b60006108f18585610a76565b61097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105fc565b5060005b949350505050565b60995473ffffffffffffffffffffffffffffffffffffffff1615610a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f467842617365526f6f7454756e6e656c3a204348494c445f54554e4e454c5f4160448201527f4c52454144595f5345540000000000000000000000000000000000000000000060648201526084016105fc565b609980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000811580610a9257506001610a8c8484610f5a565b61ffff16145b90505b92915050565b610aa3610e62565b73ffffffffffffffffffffffffffffffffffffffff8116610b46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105fc565b610b4f81610ee3565b50565b6000610b5d82610fab565b9050610b688161138d565b5050565b6000610bad83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061139992505050565b9050610bb8816113a4565b610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c61746573742064697370617463686564000000000000000060648201526084016105fc565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610c75848461143d565b63ffffffff1614610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016105fc565b7f8000000000000000000000000000000000000000000000000000000000000000610d3586866000611460565b10610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a20323535000060648201526084016105fc565b600081604051602401610dd791815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610e5a8686836114b1565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146108e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105fc565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610f67816002612d43565b60ff16821015610f7957506000610a95565b82600083610f88826002612d43565b60ff1692610f9893929190612d5c565b610fa191612d86565b60f01c9392505050565b60606000610fb8836115e6565b90506000610fc582611645565b90506000610fd28361166e565b9050600081610fe084611697565b610fe986611885565b604051602001610ffb93929190612dce565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301206000818152609a90935291205490915060ff16156110d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4678526f6f7454756e6e656c3a20455849545f414c52454144595f50524f434560448201527f535345440000000000000000000000000000000000000000000000000000000060648201526084016105fc565b6000818152609a6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611110856118a1565b9050600061111d826119eb565b905061112881611a7b565b60995473ffffffffffffffffffffffffffffffffffffffff9081169116146111d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4678526f6f7454756e6e656c3a20494e56414c49445f46585f4348494c445f5460448201527f554e4e454c00000000000000000000000000000000000000000000000000000060648201526084016105fc565b60006111dd87611aa4565b90506111fd6111ed846020015190565b876111f78a611ac0565b84611adc565b611289576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4678526f6f7454756e6e656c3a20494e56414c49445f524543454950545f505260448201527f4f4f46000000000000000000000000000000000000000000000000000000000060648201526084016105fc565b6112b78561129689611d8e565b61129f8a611daa565b846112a98c611dc6565b6112b28d611de2565b611dfe565b5060006112c383611f64565b90507f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b0366112f96112f4836000611fa0565b611fd8565b14611360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4678526f6f7454756e6e656c3a20494e56414c49445f5349474e41545552450060448201526064016105fc565b600061136b84612053565b80602001905181019061137e9190612dfb565b9b9a5050505050505050505050565b609b610b688282612eb8565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114369190612fd2565b1492915050565b600061144d602d60298486612d5c565b61145691612feb565b60e01c9392505050565b600061146e60026020612d43565b60ff1683101561147f5750806114aa565b8360028461148e826020612d43565b60ff169261149e93929190612d5c565b6114a791613031565b90505b9392505050565b6114bd83836000611460565b1561154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f506f6c79676f6e506f73486f6f6b3a20646f6573206e6f7420737570706f727460448201527f206d736756616c7565000000000000000000000000000000000000000000000060648201526084016105fc565b34156115d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f506f6c79676f6e506f73486f6f6b3a20646f6573206e6f7420737570706f727460448201527f206d736756616c7565000000000000000000000000000000000000000000000060648201526084016105fc565b6115e18161206f565b505050565b604080516020810190915260608152600061163061162b8460408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b612100565b60408051602081019091529081529392505050565b6060610a9582600001516008815181106116615761166161306d565b6020026020010151612216565b6000610a95826000015160028151811061168a5761168a61306d565b6020026020010151611fd8565b60408051602081019091526000815281516060919015610a95576000806116bf6000866122b3565b60f81c905060018114806116d657508060ff166003145b15611796576001855160026116eb919061309c565b6116f591906130b3565b67ffffffffffffffff81111561170d5761170d612b83565b6040519080825280601f01601f191660200182016040528015611737576020820181803683370190505b50925060006117476001876122b3565b9050808460008151811061175d5761175d61306d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060019250506117fa565b6002855160026117a6919061309c565b6117b091906130b3565b67ffffffffffffffff8111156117c8576117c8612b83565b6040519080825280601f01601f1916602001820160405280156117f2576020820181803683370190505b509250600091505b60ff82165b835181101561187c5761182961181860ff8516836130b3565b6118239060026130c6565b876122b3565b84828151811061183b5761183b61306d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611874816130d9565b9150506117ff565b50505092915050565b6000610a95826000015160098151811061168a5761168a61306d565b6118c560405180606001604052806060815260200160608152602001600081525090565b6118df82600001516006815181106116615761166161306d565b60208281018290526040805180820182526000808252908301528051808201909152825181529181019082015261191581612334565b1561192a5761192381612100565b82526119d7565b60208201518051600090611940906001906130b3565b67ffffffffffffffff81111561195857611958612b83565b6040519080825280601f01601f191660200182016040528015611982576020820181803683370190505b5090506000808360210191508260200190506119a08282855161236f565b6040805180820182526000808252602091820152815180830190925284518252808501908201526119d090612100565b8652505050505b6119e083611885565b604083015250919050565b604080516080810182526000918101828152606080830193909352815260208101919091526000611a398360000151600381518110611a2c57611a2c61306d565b6020026020010151612100565b836040015181518110611a4e57611a4e61306d565b602002602001015190506040518060400160405280828152602001611a7283612100565b90529392505050565b6000610a958260200151600081518110611a9757611a9761306d565b60200260200101516123ed565b6000610a95826000015160058151811061168a5761168a61306d565b6060610a9582600001516007815181106116615761166161306d565b600080611b108460408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b90506000611b1d82612100565b905060608085600080611b2f8b611697565b90508051600003611b4a576000975050505050505050610981565b60005b8651811015611d7e578151831115611b7057600098505050505050505050610981565b611b92878281518110611b8557611b8561306d565b6020026020010151612407565b955085805190602001208414611bb357600098505050505050505050610981565b611bc8878281518110611a2c57611a2c61306d565b94508451601103611c9a5781518303611c27578c80519060200120611bf9866010815181106116615761166161306d565b8051906020012003611c1657600198505050505050505050610981565b600098505050505050505050610981565b6000828481518110611c3b57611c3b61306d565b016020015160f81c90506010811115611c605760009950505050505050505050610981565b611c85868260ff1681518110611c7857611c7861306d565b6020026020010151612486565b9450611c926001856130c6565b935050611d6c565b8451600203611c16576000611cc5611cbe876000815181106116615761166161306d565b84866124b4565b8351909150611cd482866130c6565b03611d27578d80519060200120611cf7876001815181106116615761166161306d565b8051906020012003611d155760019950505050505050505050610981565b60009950505050505050505050610981565b80600003611d415760009950505050505050505050610981565b611d4b81856130c6565b9350611d6386600181518110611c7857611c7861306d565b9450611d6c9050565b80611d76816130d9565b915050611b4d565b5050505050505050949350505050565b6000610a95826000015160038151811061168a5761168a61306d565b6000610a95826000015160048151811061168a5761168a61306d565b6000610a95826000015160008151811061168a5761168a61306d565b6060610a9582600001516001815181106116615761166161306d565b6098546040517f41539d4a0000000000000000000000000000000000000000000000000000000081526004810184905260009182918291829173ffffffffffffffffffffffffffffffffffffffff909116906341539d4a9060240160a060405180830381865afa158015611e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9a9190613111565b5093505092509250611ef1828b611eb191906130b3565b6040805160208082018f90528183018e9052606082018d905260808083018d90528351808403909101815260a090920190925280519101209085886125ec565b611f57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4678526f6f7454756e6e656c3a20494e56414c49445f4845414445520000000060448201526064016105fc565b9998505050505050505050565b6040805160208101909152606081526040518060200160405280611f988460200151600181518110611a2c57611a2c61306d565b905292915050565b60408051808201909152600080825260208201528251805183908110611fc857611fc861306d565b6020026020010151905092915050565b805160009015801590611fed57508151602110155b611ff657600080fd5b60006120058360200151612799565b9050600081846000015161201991906130b3565b905060008083866020015161202e91906130c6565b905080519150602083101561204a57826020036101000a820491505b50949350505050565b6060610a9582602001516002815181106116615761166161306d565b6097546099546040517fb472047700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283169263b4720477926120cb92911690859060040161315e565b600060405180830381600087803b1580156120e557600080fd5b505af11580156120f9573d6000803e3d6000fd5b5050505050565b606061210b82612334565b61211457600080fd5b600061211f8361281a565b905060008167ffffffffffffffff81111561213c5761213c612b83565b60405190808252806020026020018201604052801561218157816020015b604080518082019091526000808252602082015281526020019060019003908161215a5790505b50905060006121938560200151612799565b85602001516121a291906130c6565b90506000805b8481101561220b576121b98361289f565b91506040518060400160405280838152602001848152508482815181106121e2576121e261306d565b60209081029190910101526121f782846130c6565b925080612203816130d9565b9150506121a8565b509195945050505050565b805160609061222457600080fd5b60006122338360200151612799565b9050600081846000015161224791906130b3565b905060008167ffffffffffffffff81111561226457612264612b83565b6040519080825280601f01601f19166020018201604052801561228e576020820181803683370190505b509050600081602001905061204a8487602001516122ac91906130c6565b8285612961565b60006122c06002846131bc565b156122fa576010826122d36002866131d0565b815181106122e3576122e361306d565b01602001516122f5919060f81c6131e4565b61232a565b6010826123086002866131d0565b815181106123185761231861306d565b016020015161232a919060f81c613206565b60f81b9392505050565b8051600090810361234757506000919050565b6020820151805160001a9060c0821015612365575060009392505050565b5060019392505050565b8060000361237c57505050565b602081106123b457825182526123936020846130c6565b92506123a06020836130c6565b91506123ad6020826130b3565b905061237c565b600060016123c38360206130b3565b6123cf90610100613348565b6123d991906130b3565b935183518516941916939093179091525050565b80516000906015146123fe57600080fd5b610a9582611fd8565b60606000826000015167ffffffffffffffff81111561242857612428612b83565b6040519080825280601f01601f191660200182016040528015612452576020820181803683370190505b50905080516000036124645792915050565b600081602001905061247f8460200151828660000151612961565b5092915050565b805160009060211461249757600080fd5b600080836020015160016124ab91906130c6565b51949350505050565b600080806124c186611697565b90506000815167ffffffffffffffff8111156124df576124df612b83565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b509050845b825161251a90876130c6565b8110156125bd5760008782815181106125355761253561306d565b01602001517fff00000000000000000000000000000000000000000000000000000000000000169050808361256a89856130b3565b8151811061257a5761257a61306d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505080806125b5906130d9565b91505061250e565b5080805190602001208280519060200120036125dc57815192506125e1565b600092505b509095945050505050565b6000602082516125fc91906131bc565b15612663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642070726f6f66206c656e67746800000000000000000000000060448201526064016105fc565b60006020835161267391906131d0565b9050612680816002613348565b85106126e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4c65616620696e64657820697320746f6f20626967000000000000000000000060448201526064016105fc565b60008660205b8551811161278b578581015192506127076002896131bc565b60000361273f57604080516020810184905290810184905260600160405160208183030381529060405280519060200120915061276c565b60408051602081018590529081018390526060016040516020818303038152906040528051906020012091505b6127776002896131d0565b97506127846020826130c6565b90506126ee565b509094149695505050505050565b8051600090811a60808110156127b25750600092915050565b60b88110806127cd575060c081108015906127cd575060f881105b156127db5750600192915050565b60c0811015612808576127f0600160b8613354565b6127fd9060ff16826130b3565b6114aa9060016130c6565b6127f0600160f8613354565b50919050565b8051600090810361282d57506000919050565b60008061283d8460200151612799565b846020015161284c91906130c6565b905060008460000151856020015161286491906130c6565b90505b80821015612896576128788261289f565b61288290836130c6565b91508261288e816130d9565b935050612867565b50909392505050565b80516000908190811a60808110156128ba576001915061247f565b60b88110156128e0576128ce6080826130b3565b6128d99060016130c6565b915061247f565b60c081101561290d5760b78103600185019450806020036101000a8551046001820181019350505061247f565b60f8811015612921576128ce60c0826130b3565b60019390930151602084900360f7016101000a90049092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a0192915050565b8060000361296e57505050565b602081106129a657825182526129856020846130c6565b92506129926020836130c6565b915061299f6020826130b3565b905061296e565b806000036123b457505050565b60008083601f8401126129c557600080fd5b50813567ffffffffffffffff8111156129dd57600080fd5b6020830191508360208285010111156129f557600080fd5b9250929050565b60008060008060408587031215612a1257600080fd5b843567ffffffffffffffff80821115612a2a57600080fd5b612a36888389016129b3565b90965094506020870135915080821115612a4f57600080fd5b50612a5c878288016129b3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b4f57600080fd5b600060208284031215612a9c57600080fd5b81356114aa81612a68565b60005b83811015612ac2578181015183820152602001612aaa565b50506000910152565b60008151808452612ae3816020860160208601612aa7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a926020830184612acb565b600060208284031215612b3a57600080fd5b5035919050565b60008060208385031215612b5457600080fd5b823567ffffffffffffffff811115612b6b57600080fd5b612b77858286016129b3565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612bf957612bf9612b83565b604052919050565b600067ffffffffffffffff821115612c1b57612c1b612b83565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215612c5957600080fd5b813567ffffffffffffffff811115612c7057600080fd5b8201601f81018413612c8157600080fd5b8035612c94612c8f82612c01565b612bb2565b818152856020838501011115612ca957600080fd5b81602084016020830137600091810160200191909152949350505050565b600181811c90821680612cdb57607f821691505b602082108103612814577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff8181168382160190811115610a9557610a95612d14565b60008085851115612d6c57600080fd5b83861115612d7957600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015612dc65780818660020360031b1b83161692505b505092915050565b83815260008351612de6816020850160208801612aa7565b60209201918201929092526040019392505050565b600060208284031215612e0d57600080fd5b815167ffffffffffffffff811115612e2457600080fd5b8201601f81018413612e3557600080fd5b8051612e43612c8f82612c01565b818152856020838501011115612e5857600080fd5b612e69826020830160208601612aa7565b95945050505050565b601f8211156115e157600081815260208120601f850160051c81016020861015612e995750805b601f850160051c820191505b81811015610e5a57828155600101612ea5565b815167ffffffffffffffff811115612ed257612ed2612b83565b612ee681612ee08454612cc7565b84612e72565b602080601f831160018114612f395760008415612f035750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610e5a565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612f8657888601518255948401946001909101908401612f67565b5085821015612fc257878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612fe457600080fd5b5051919050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612dc65760049490940360031b84901b1690921692915050565b80356020831015610a95577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8082028115828204841417610a9557610a95612d14565b81810381811115610a9557610a95612d14565b80820180821115610a9557610a95612d14565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361310a5761310a612d14565b5060010190565b600080600080600060a0868803121561312957600080fd5b85519450602086015193506040860151925060608601519150608086015161315081612a68565b809150509295509295909350565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006109816040830184612acb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826131cb576131cb61318d565b500690565b6000826131df576131df61318d565b500490565b600060ff8316806131f7576131f761318d565b8060ff84160691505092915050565b600060ff8316806132195761321961318d565b8060ff84160491505092915050565b600181815b8085111561328157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561326757613267612d14565b8085161561327457918102915b93841c939080029061322d565b509250929050565b60008261329857506001610a95565b816132a557506000610a95565b81600181146132bb57600281146132c5576132e1565b6001915050610a95565b60ff8411156132d6576132d6612d14565b50506001821b610a95565b5060208310610133831016604e8410600b8410161715613304575081810a610a95565b61330e8383613228565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561334057613340612d14565b029392505050565b6000610a928383613289565b60ff8281168282160390811115610a9557610a95612d1456fea26469706673582212204a60ce7a3378bd9fa122969a3f3c046b13e4ab9fcb7a6b4051052a9eb9257ff664736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
391
+ const _bytecode = "0x6101006040523480156200001257600080fd5b506040516200381838038062003818833981016040819052620000359162000381565b818186868682806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a9190620003e8565b63ffffffff1660a0526200011e33620002fd565b508190506200016e5760405162461bcd60e51b81526020600482015260266024820152600080516020620037f883398151915260448201526569642049534d60d01b606482015260840162000090565b8163ffffffff16600003620001db5760405162461bcd60e51b81526020600482015260356024820152600080516020620037f883398151915260448201527f69642064657374696e6174696f6e20646f6d61696e0000000000000000000000606482015260840162000090565b60c05263ffffffff1660e05250609880546001600160a01b039384166001600160a01b0319918216179091556097805492909316911617905562000228826001600160a01b03163b151590565b620002895760405162461bcd60e51b815260206004820152602a60248201527f506f6c79676f6e506f73486f6f6b3a20696e76616c69642063704d616e6167656044820152691c8818dbdb9d1c9858dd60b21b606482015260840162000090565b6001600160a01b0381163b620002f25760405162461bcd60e51b815260206004820152602760248201527f506f6c79676f6e506f73486f6f6b3a20696e76616c6964206678526f6f7420636044820152661bdb9d1c9858dd60ca1b606482015260840162000090565b50505050506200040d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200036757600080fd5b919050565b805163ffffffff811681146200036757600080fd5b600080600080600060a086880312156200039a57600080fd5b620003a5866200034f565b9450620003b5602087016200036c565b935060408601519250620003cc606087016200034f565b9150620003dc608087016200034f565b90509295509295909350565b600060208284031215620003fb57600080fd5b62000406826200036c565b9392505050565b60805160a05160c05160e0516133a362000455600039600081816102350152610c460152600061029e0152600061037901526000818161047201526113a901526133a36000f3fe6080604052600436106101805760003560e01c80638da5cb5b116100d6578063de523cf31161007f578063e5320bb911610059578063e5320bb91461050a578063f2fde38b1461052a578063f953cec71461054a57600080fd5b8063de523cf314610494578063de9b771f146104c1578063e445e7dd146104ee57600080fd5b8063aea4e49e116100b0578063aea4e49e14610413578063c0857ba014610433578063d5438eae1461046057600080fd5b80638da5cb5b1461039b578063972c4928146103c6578063aaccd230146103f357600080fd5b80633dfd387311610138578063715018a611610112578063715018a6146103005780637f5a7c7b146103155780638d3638f41461036757600080fd5b80633dfd38731461026c5780634deefab21461028c578063607f2d42146102c057600080fd5b80630e72cc06116101695780630e72cc06146101e1578063142bc2ae146102015780632858c55a1461022357600080fd5b8063086011b9146101855780630e387de61461019a575b600080fd5b6101986101933660046129fc565b61056a565b005b3480156101a657600080fd5b506101ce7f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b03681565b6040519081526020015b60405180910390f35b3480156101ed57600080fd5b506101986101fc366004612a8a565b610617565b34801561020d57600080fd5b5061021661072d565b6040516101d89190612b15565b34801561022f57600080fd5b506102577f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101d8565b34801561027857600080fd5b50610198610287366004612a8a565b6107bb565b34801561029857600080fd5b506101ce7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cc57600080fd5b506102f06102db366004612b28565b609a6020526000908152604090205460ff1681565b60405190151581526020016101d8565b34801561030c57600080fd5b506101986108d1565b34801561032157600080fd5b506065546103429073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d8565b34801561037357600080fd5b506102577f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a757600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610342565b3480156103d257600080fd5b506099546103429073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ff57600080fd5b506101ce61040e3660046129fc565b6108e5565b34801561041f57600080fd5b5061019861042e366004612a8a565b610989565b34801561043f57600080fd5b506098546103429073ffffffffffffffffffffffffffffffffffffffff1681565b34801561046c57600080fd5b506103427f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a057600080fd5b506066546103429073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104cd57600080fd5b506097546103429073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104fa57600080fd5b50604051600681526020016101d8565b34801561051657600080fd5b506102f0610525366004612b41565b610a76565b34801561053657600080fd5b50610198610545366004612a8a565b610a9b565b34801561055657600080fd5b50610198610565366004612c47565b610b52565b6105748484610a76565b610605576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61061184848484610b6c565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610651575073ffffffffffffffffffffffffffffffffffffffff8116155b6106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105fc565b6106e5610e62565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b609b805461073a90612cc7565b80601f016020809104026020016040519081016040528092919081815260200182805461076690612cc7565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b505050505081565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806107f5575073ffffffffffffffffffffffffffffffffffffffff8116155b610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105fc565b610889610e62565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6108d9610e62565b6108e36000610ee3565b565b60006108f18585610a76565b61097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105fc565b5060005b949350505050565b60995473ffffffffffffffffffffffffffffffffffffffff1615610a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f467842617365526f6f7454756e6e656c3a204348494c445f54554e4e454c5f4160448201527f4c52454144595f5345540000000000000000000000000000000000000000000060648201526084016105fc565b609980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000811580610a9257506001610a8c8484610f5a565b61ffff16145b90505b92915050565b610aa3610e62565b73ffffffffffffffffffffffffffffffffffffffff8116610b46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105fc565b610b4f81610ee3565b50565b6000610b5d82610fab565b9050610b688161138d565b5050565b6000610bad83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061139992505050565b9050610bb8816113a4565b610c44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c61746573742064697370617463686564000000000000000060648201526084016105fc565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610c75848461143d565b63ffffffff1614610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016105fc565b7f8000000000000000000000000000000000000000000000000000000000000000610d3586866000611460565b10610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a20323535000060648201526084016105fc565b600081604051602401610dd791815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610e5a8686836114b1565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146108e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105fc565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610f67816002612d43565b60ff16821015610f7957506000610a95565b82600083610f88826002612d43565b60ff1692610f9893929190612d5c565b610fa191612d86565b60f01c9392505050565b60606000610fb8836115e6565b90506000610fc582611645565b90506000610fd28361166e565b9050600081610fe084611697565b610fe986611885565b604051602001610ffb93929190612dce565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301206000818152609a90935291205490915060ff16156110d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4678526f6f7454756e6e656c3a20455849545f414c52454144595f50524f434560448201527f535345440000000000000000000000000000000000000000000000000000000060648201526084016105fc565b6000818152609a6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611110856118a1565b9050600061111d826119eb565b905061112881611a7b565b60995473ffffffffffffffffffffffffffffffffffffffff9081169116146111d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4678526f6f7454756e6e656c3a20494e56414c49445f46585f4348494c445f5460448201527f554e4e454c00000000000000000000000000000000000000000000000000000060648201526084016105fc565b60006111dd87611aa4565b90506111fd6111ed846020015190565b876111f78a611ac0565b84611adc565b611289576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4678526f6f7454756e6e656c3a20494e56414c49445f524543454950545f505260448201527f4f4f46000000000000000000000000000000000000000000000000000000000060648201526084016105fc565b6112b78561129689611d8e565b61129f8a611daa565b846112a98c611dc6565b6112b28d611de2565b611dfe565b5060006112c383611f64565b90507f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b0366112f96112f4836000611fa0565b611fd8565b14611360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4678526f6f7454756e6e656c3a20494e56414c49445f5349474e41545552450060448201526064016105fc565b600061136b84612053565b80602001905181019061137e9190612dfb565b9b9a5050505050505050505050565b609b610b688282612eb8565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611412573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114369190612fd2565b1492915050565b600061144d602d60298486612d5c565b61145691612feb565b60e01c9392505050565b600061146e60026020612d43565b60ff1683101561147f5750806114aa565b8360028461148e826020612d43565b60ff169261149e93929190612d5c565b6114a791613031565b90505b9392505050565b6114bd83836000611460565b1561154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f506f6c79676f6e506f73486f6f6b3a20646f6573206e6f7420737570706f727460448201527f206d736756616c7565000000000000000000000000000000000000000000000060648201526084016105fc565b34156115d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f506f6c79676f6e506f73486f6f6b3a20646f6573206e6f7420737570706f727460448201527f206d736756616c7565000000000000000000000000000000000000000000000060648201526084016105fc565b6115e18161206f565b505050565b604080516020810190915260608152600061163061162b8460408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b612100565b60408051602081019091529081529392505050565b6060610a9582600001516008815181106116615761166161306d565b6020026020010151612216565b6000610a95826000015160028151811061168a5761168a61306d565b6020026020010151611fd8565b60408051602081019091526000815281516060919015610a95576000806116bf6000866122b3565b60f81c905060018114806116d657508060ff166003145b15611796576001855160026116eb919061309c565b6116f591906130b3565b67ffffffffffffffff81111561170d5761170d612b83565b6040519080825280601f01601f191660200182016040528015611737576020820181803683370190505b50925060006117476001876122b3565b9050808460008151811061175d5761175d61306d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060019250506117fa565b6002855160026117a6919061309c565b6117b091906130b3565b67ffffffffffffffff8111156117c8576117c8612b83565b6040519080825280601f01601f1916602001820160405280156117f2576020820181803683370190505b509250600091505b60ff82165b835181101561187c5761182961181860ff8516836130b3565b6118239060026130c6565b876122b3565b84828151811061183b5761183b61306d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611874816130d9565b9150506117ff565b50505092915050565b6000610a95826000015160098151811061168a5761168a61306d565b6118c560405180606001604052806060815260200160608152602001600081525090565b6118df82600001516006815181106116615761166161306d565b60208281018290526040805180820182526000808252908301528051808201909152825181529181019082015261191581612334565b1561192a5761192381612100565b82526119d7565b60208201518051600090611940906001906130b3565b67ffffffffffffffff81111561195857611958612b83565b6040519080825280601f01601f191660200182016040528015611982576020820181803683370190505b5090506000808360210191508260200190506119a08282855161236f565b6040805180820182526000808252602091820152815180830190925284518252808501908201526119d090612100565b8652505050505b6119e083611885565b604083015250919050565b604080516080810182526000918101828152606080830193909352815260208101919091526000611a398360000151600381518110611a2c57611a2c61306d565b6020026020010151612100565b836040015181518110611a4e57611a4e61306d565b602002602001015190506040518060400160405280828152602001611a7283612100565b90529392505050565b6000610a958260200151600081518110611a9757611a9761306d565b60200260200101516123ed565b6000610a95826000015160058151811061168a5761168a61306d565b6060610a9582600001516007815181106116615761166161306d565b600080611b108460408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b90506000611b1d82612100565b905060608085600080611b2f8b611697565b90508051600003611b4a576000975050505050505050610981565b60005b8651811015611d7e578151831115611b7057600098505050505050505050610981565b611b92878281518110611b8557611b8561306d565b6020026020010151612407565b955085805190602001208414611bb357600098505050505050505050610981565b611bc8878281518110611a2c57611a2c61306d565b94508451601103611c9a5781518303611c27578c80519060200120611bf9866010815181106116615761166161306d565b8051906020012003611c1657600198505050505050505050610981565b600098505050505050505050610981565b6000828481518110611c3b57611c3b61306d565b016020015160f81c90506010811115611c605760009950505050505050505050610981565b611c85868260ff1681518110611c7857611c7861306d565b6020026020010151612486565b9450611c926001856130c6565b935050611d6c565b8451600203611c16576000611cc5611cbe876000815181106116615761166161306d565b84866124b4565b8351909150611cd482866130c6565b03611d27578d80519060200120611cf7876001815181106116615761166161306d565b8051906020012003611d155760019950505050505050505050610981565b60009950505050505050505050610981565b80600003611d415760009950505050505050505050610981565b611d4b81856130c6565b9350611d6386600181518110611c7857611c7861306d565b9450611d6c9050565b80611d76816130d9565b915050611b4d565b5050505050505050949350505050565b6000610a95826000015160038151811061168a5761168a61306d565b6000610a95826000015160048151811061168a5761168a61306d565b6000610a95826000015160008151811061168a5761168a61306d565b6060610a9582600001516001815181106116615761166161306d565b6098546040517f41539d4a0000000000000000000000000000000000000000000000000000000081526004810184905260009182918291829173ffffffffffffffffffffffffffffffffffffffff909116906341539d4a9060240160a060405180830381865afa158015611e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9a9190613111565b5093505092509250611ef1828b611eb191906130b3565b6040805160208082018f90528183018e9052606082018d905260808083018d90528351808403909101815260a090920190925280519101209085886125ec565b611f57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4678526f6f7454756e6e656c3a20494e56414c49445f4845414445520000000060448201526064016105fc565b9998505050505050505050565b6040805160208101909152606081526040518060200160405280611f988460200151600181518110611a2c57611a2c61306d565b905292915050565b60408051808201909152600080825260208201528251805183908110611fc857611fc861306d565b6020026020010151905092915050565b805160009015801590611fed57508151602110155b611ff657600080fd5b60006120058360200151612799565b9050600081846000015161201991906130b3565b905060008083866020015161202e91906130c6565b905080519150602083101561204a57826020036101000a820491505b50949350505050565b6060610a9582602001516002815181106116615761166161306d565b6097546099546040517fb472047700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283169263b4720477926120cb92911690859060040161315e565b600060405180830381600087803b1580156120e557600080fd5b505af11580156120f9573d6000803e3d6000fd5b5050505050565b606061210b82612334565b61211457600080fd5b600061211f8361281a565b905060008167ffffffffffffffff81111561213c5761213c612b83565b60405190808252806020026020018201604052801561218157816020015b604080518082019091526000808252602082015281526020019060019003908161215a5790505b50905060006121938560200151612799565b85602001516121a291906130c6565b90506000805b8481101561220b576121b98361289f565b91506040518060400160405280838152602001848152508482815181106121e2576121e261306d565b60209081029190910101526121f782846130c6565b925080612203816130d9565b9150506121a8565b509195945050505050565b805160609061222457600080fd5b60006122338360200151612799565b9050600081846000015161224791906130b3565b905060008167ffffffffffffffff81111561226457612264612b83565b6040519080825280601f01601f19166020018201604052801561228e576020820181803683370190505b509050600081602001905061204a8487602001516122ac91906130c6565b8285612961565b60006122c06002846131bc565b156122fa576010826122d36002866131d0565b815181106122e3576122e361306d565b01602001516122f5919060f81c6131e4565b61232a565b6010826123086002866131d0565b815181106123185761231861306d565b016020015161232a919060f81c613206565b60f81b9392505050565b8051600090810361234757506000919050565b6020820151805160001a9060c0821015612365575060009392505050565b5060019392505050565b8060000361237c57505050565b602081106123b457825182526123936020846130c6565b92506123a06020836130c6565b91506123ad6020826130b3565b905061237c565b600060016123c38360206130b3565b6123cf90610100613348565b6123d991906130b3565b935183518516941916939093179091525050565b80516000906015146123fe57600080fd5b610a9582611fd8565b60606000826000015167ffffffffffffffff81111561242857612428612b83565b6040519080825280601f01601f191660200182016040528015612452576020820181803683370190505b50905080516000036124645792915050565b600081602001905061247f8460200151828660000151612961565b5092915050565b805160009060211461249757600080fd5b600080836020015160016124ab91906130c6565b51949350505050565b600080806124c186611697565b90506000815167ffffffffffffffff8111156124df576124df612b83565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b509050845b825161251a90876130c6565b8110156125bd5760008782815181106125355761253561306d565b01602001517fff00000000000000000000000000000000000000000000000000000000000000169050808361256a89856130b3565b8151811061257a5761257a61306d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505080806125b5906130d9565b91505061250e565b5080805190602001208280519060200120036125dc57815192506125e1565b600092505b509095945050505050565b6000602082516125fc91906131bc565b15612663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642070726f6f66206c656e67746800000000000000000000000060448201526064016105fc565b60006020835161267391906131d0565b9050612680816002613348565b85106126e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4c65616620696e64657820697320746f6f20626967000000000000000000000060448201526064016105fc565b60008660205b8551811161278b578581015192506127076002896131bc565b60000361273f57604080516020810184905290810184905260600160405160208183030381529060405280519060200120915061276c565b60408051602081018590529081018390526060016040516020818303038152906040528051906020012091505b6127776002896131d0565b97506127846020826130c6565b90506126ee565b509094149695505050505050565b8051600090811a60808110156127b25750600092915050565b60b88110806127cd575060c081108015906127cd575060f881105b156127db5750600192915050565b60c0811015612808576127f0600160b8613354565b6127fd9060ff16826130b3565b6114aa9060016130c6565b6127f0600160f8613354565b50919050565b8051600090810361282d57506000919050565b60008061283d8460200151612799565b846020015161284c91906130c6565b905060008460000151856020015161286491906130c6565b90505b80821015612896576128788261289f565b61288290836130c6565b91508261288e816130d9565b935050612867565b50909392505050565b80516000908190811a60808110156128ba576001915061247f565b60b88110156128e0576128ce6080826130b3565b6128d99060016130c6565b915061247f565b60c081101561290d5760b78103600185019450806020036101000a8551046001820181019350505061247f565b60f8811015612921576128ce60c0826130b3565b60019390930151602084900360f7016101000a90049092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a0192915050565b8060000361296e57505050565b602081106129a657825182526129856020846130c6565b92506129926020836130c6565b915061299f6020826130b3565b905061296e565b806000036123b457505050565b60008083601f8401126129c557600080fd5b50813567ffffffffffffffff8111156129dd57600080fd5b6020830191508360208285010111156129f557600080fd5b9250929050565b60008060008060408587031215612a1257600080fd5b843567ffffffffffffffff80821115612a2a57600080fd5b612a36888389016129b3565b90965094506020870135915080821115612a4f57600080fd5b50612a5c878288016129b3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b4f57600080fd5b600060208284031215612a9c57600080fd5b81356114aa81612a68565b60005b83811015612ac2578181015183820152602001612aaa565b50506000910152565b60008151808452612ae3816020860160208601612aa7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a926020830184612acb565b600060208284031215612b3a57600080fd5b5035919050565b60008060208385031215612b5457600080fd5b823567ffffffffffffffff811115612b6b57600080fd5b612b77858286016129b3565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612bf957612bf9612b83565b604052919050565b600067ffffffffffffffff821115612c1b57612c1b612b83565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215612c5957600080fd5b813567ffffffffffffffff811115612c7057600080fd5b8201601f81018413612c8157600080fd5b8035612c94612c8f82612c01565b612bb2565b818152856020838501011115612ca957600080fd5b81602084016020830137600091810160200191909152949350505050565b600181811c90821680612cdb57607f821691505b602082108103612814577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff8181168382160190811115610a9557610a95612d14565b60008085851115612d6c57600080fd5b83861115612d7957600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015612dc65780818660020360031b1b83161692505b505092915050565b83815260008351612de6816020850160208801612aa7565b60209201918201929092526040019392505050565b600060208284031215612e0d57600080fd5b815167ffffffffffffffff811115612e2457600080fd5b8201601f81018413612e3557600080fd5b8051612e43612c8f82612c01565b818152856020838501011115612e5857600080fd5b612e69826020830160208601612aa7565b95945050505050565b601f8211156115e157600081815260208120601f850160051c81016020861015612e995750805b601f850160051c820191505b81811015610e5a57828155600101612ea5565b815167ffffffffffffffff811115612ed257612ed2612b83565b612ee681612ee08454612cc7565b84612e72565b602080601f831160018114612f395760008415612f035750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610e5a565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612f8657888601518255948401946001909101908401612f67565b5085821015612fc257878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612fe457600080fd5b5051919050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612dc65760049490940360031b84901b1690921692915050565b80356020831015610a95577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8082028115828204841417610a9557610a95612d14565b81810381811115610a9557610a95612d14565b80820180821115610a9557610a95612d14565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361310a5761310a612d14565b5060010190565b600080600080600060a0868803121561312957600080fd5b85519450602086015193506040860151925060608601519150608086015161315081612a68565b809150509295509295909350565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006109816040830184612acb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826131cb576131cb61318d565b500690565b6000826131df576131df61318d565b500490565b600060ff8316806131f7576131f761318d565b8060ff84160691505092915050565b600060ff8316806132195761321961318d565b8060ff84160491505092915050565b600181815b8085111561328157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561326757613267612d14565b8085161561327457918102915b93841c939080029061322d565b509250929050565b60008261329857506001610a95565b816132a557506000610a95565b81600181146132bb57600281146132c5576132e1565b6001915050610a95565b60ff8411156132d6576132d6612d14565b50506001821b610a95565b5060208310610133831016604e8410600b8410161715613304575081810a610a95565b61330e8383613228565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561334057613340612d14565b029392505050565b6000610a928383613289565b60ff8281168282160390811115610a9557610a95612d1456fea264697066735822122082cc9c242fa86109851364ab0b9384f7e20e51a25be8c6163d4e1d4482bceb9564736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
392
392
  const isSuperArgs = (xs) => xs.length > 1;
393
393
  export class PolygonPosHook__factory extends ContractFactory {
394
394
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class ERC5164Hook__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): ERC5164Hook;
14
14
  connect(signer: Signer): ERC5164Hook__factory;
15
- static readonly bytecode = "0x6101206040523480156200001257600080fd5b506040516200160a3803806200160a8339810160408190526200003591620002da565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010891906200032e565b63ffffffff1660a0526200011c3362000256565b508190506200016c5760405162461bcd60e51b81526020600482015260266024820152600080516020620015ea83398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b81526020600482015260356024820152600080516020620015ea83398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b0381163b6200023f5760405162461bcd60e51b815260206004820152601f60248201527f45524335313634486f6f6b3a20696e76616c696420646973706174636865720060448201526064016200008e565b6001600160a01b0316610100525062000353915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620002c057600080fd5b919050565b805163ffffffff81168114620002c057600080fd5b60008060008060808587031215620002f157600080fd5b620002fc85620002a8565b93506200030c60208601620002c5565b9250604085015191506200032360608601620002a8565b905092959194509250565b6000602082840312156200034157600080fd5b6200034c82620002c5565b9392505050565b60805160a05160c05160e0516101005161122f620003bb600039600081816102d50152610e1701526000818161013f0152818161090a0152610e590152600081816101ad0152610e7b015260006102560152600081816103090152610c7f015261122f6000f3fe6080604052600436106100f35760003560e01c80638da5cb5b1161008a578063de523cf311610059578063de523cf31461032b578063e445e7dd14610358578063e5320bb914610374578063f2fde38b146103a457600080fd5b80638da5cb5b14610278578063aaccd230146102a3578063cb7e9057146102c3578063d5438eae146102f757600080fd5b80634deefab2116100c65780634deefab21461019b578063715018a6146101dd5780637f5a7c7b146101f25780638d3638f41461024457600080fd5b8063086011b9146100f85780630e72cc061461010d5780632858c55a1461012d5780633dfd38731461017b575b600080fd5b61010b610106366004610f31565b6103c4565b005b34801561011957600080fd5b5061010b610128366004610f9d565b610471565b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b34801561018757600080fd5b5061010b610196366004610f9d565b610587565b3480156101a757600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610172565b3480156101e957600080fd5b5061010b61069d565b3480156101fe57600080fd5b5060655461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610172565b34801561025057600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561028457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021f565b3480156102af57600080fd5b506101cf6102be366004610f31565b6106b1565b3480156102cf57600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030357600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033757600080fd5b5060665461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036457600080fd5b5060405160068152602001610172565b34801561038057600080fd5b5061039461038f366004610fd3565b610754565b6040519015158152602001610172565b3480156103b057600080fd5b5061010b6103bf366004610f9d565b610779565b6103ce8484610754565b61045f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61046b84848484610830565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104ab575073ffffffffffffffffffffffffffffffffffffffff8116155b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b61053f610b26565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105c1575073ffffffffffffffffffffffffffffffffffffffff8116155b61064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b610655610b26565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6106a5610b26565b6106af6000610ba7565b565b60006106bd8585610754565b610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610456565b600095945050505050565b60008115806107705750600161076a8484610c1e565b61ffff16145b90505b92915050565b610781610b26565b73ffffffffffffffffffffffffffffffffffffffff8116610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610456565b61082d81610ba7565b50565b600061087183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6f92505050565b905061087c81610c7a565b610908576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c6174657374206469737061746368656400000000000000006064820152608401610456565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff166109398484610d13565b63ffffffff16146109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e00000000000000000000006064820152608401610456565b7f80000000000000000000000000000000000000000000000000000000000000006109f986866000610d36565b10610a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a2032353500006064820152608401610456565b600081604051602401610a9b91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610b1e868683610d87565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610456565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610c2b816002611015565b60ff16821015610c3d57506000610773565b82600083610c4c826002611015565b60ff1692610c5c93929190611055565b610c659161107f565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c91906110c7565b1492915050565b6000610d23602d60298486611055565b610d2c916110e0565b60e01c9392505050565b6000610d4460026020611015565b60ff16831015610d55575080610d80565b83600284610d64826020611015565b60ff1692610d7493929190611055565b610d7d91611126565b90505b9392505050565b3415610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524335313634486f6f6b3a206e6f2076616c756520616c6c6f7765640000006044820152606401610456565b6040517ffe39827b0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fe39827b90610ea5907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908690600401611162565b6020604051808303816000875af1158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b91906110c7565b60008083601f840112610efa57600080fd5b50813567ffffffffffffffff811115610f1257600080fd5b602083019150836020828501011115610f2a57600080fd5b9250929050565b60008060008060408587031215610f4757600080fd5b843567ffffffffffffffff80821115610f5f57600080fd5b610f6b88838901610ee8565b90965094506020870135915080821115610f8457600080fd5b50610f9187828801610ee8565b95989497509550505050565b600060208284031215610faf57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610d8057600080fd5b60008060208385031215610fe657600080fd5b823567ffffffffffffffff811115610ffd57600080fd5b61100985828601610ee8565b90969095509350505050565b60ff8181168382160190811115610773577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000808585111561106557600080fd5b8386111561107257600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110bf5780818660020360031b1b83161692505b505092915050565b6000602082840312156110d957600080fd5b5051919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156110bf5760049490940360031b84901b1690921692915050565b80356020831015610773577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b63ffffffff841681526000602073ffffffffffffffffffffffffffffffffffffffff85168184015260606040840152835180606085015260005b818110156111b85785810183015185820160800152820161119c565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505094935050505056fea2646970667358221220caa093ccc47ef4da14734e4db00d19cc9e93be95b37b423595525ef8d9ad84c864736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
15
+ static readonly bytecode = "0x6101206040523480156200001257600080fd5b506040516200160a3803806200160a8339810160408190526200003591620002da565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010891906200032e565b63ffffffff1660a0526200011c3362000256565b508190506200016c5760405162461bcd60e51b81526020600482015260266024820152600080516020620015ea83398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b81526020600482015260356024820152600080516020620015ea83398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b0381163b6200023f5760405162461bcd60e51b815260206004820152601f60248201527f45524335313634486f6f6b3a20696e76616c696420646973706174636865720060448201526064016200008e565b6001600160a01b0316610100525062000353915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620002c057600080fd5b919050565b805163ffffffff81168114620002c057600080fd5b60008060008060808587031215620002f157600080fd5b620002fc85620002a8565b93506200030c60208601620002c5565b9250604085015191506200032360608601620002a8565b905092959194509250565b6000602082840312156200034157600080fd5b6200034c82620002c5565b9392505050565b60805160a05160c05160e0516101005161122f620003bb600039600081816102d50152610e1701526000818161013f0152818161090a0152610e590152600081816101ad0152610e7b015260006102560152600081816103090152610c7f015261122f6000f3fe6080604052600436106100f35760003560e01c80638da5cb5b1161008a578063de523cf311610059578063de523cf31461032b578063e445e7dd14610358578063e5320bb914610374578063f2fde38b146103a457600080fd5b80638da5cb5b14610278578063aaccd230146102a3578063cb7e9057146102c3578063d5438eae146102f757600080fd5b80634deefab2116100c65780634deefab21461019b578063715018a6146101dd5780637f5a7c7b146101f25780638d3638f41461024457600080fd5b8063086011b9146100f85780630e72cc061461010d5780632858c55a1461012d5780633dfd38731461017b575b600080fd5b61010b610106366004610f31565b6103c4565b005b34801561011957600080fd5b5061010b610128366004610f9d565b610471565b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b34801561018757600080fd5b5061010b610196366004610f9d565b610587565b3480156101a757600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610172565b3480156101e957600080fd5b5061010b61069d565b3480156101fe57600080fd5b5060655461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610172565b34801561025057600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561028457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021f565b3480156102af57600080fd5b506101cf6102be366004610f31565b6106b1565b3480156102cf57600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030357600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033757600080fd5b5060665461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036457600080fd5b5060405160068152602001610172565b34801561038057600080fd5b5061039461038f366004610fd3565b610754565b6040519015158152602001610172565b3480156103b057600080fd5b5061010b6103bf366004610f9d565b610779565b6103ce8484610754565b61045f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61046b84848484610830565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104ab575073ffffffffffffffffffffffffffffffffffffffff8116155b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b61053f610b26565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105c1575073ffffffffffffffffffffffffffffffffffffffff8116155b61064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b610655610b26565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6106a5610b26565b6106af6000610ba7565b565b60006106bd8585610754565b610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610456565b600095945050505050565b60008115806107705750600161076a8484610c1e565b61ffff16145b90505b92915050565b610781610b26565b73ffffffffffffffffffffffffffffffffffffffff8116610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610456565b61082d81610ba7565b50565b600061087183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6f92505050565b905061087c81610c7a565b610908576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c6174657374206469737061746368656400000000000000006064820152608401610456565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff166109398484610d13565b63ffffffff16146109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e00000000000000000000006064820152608401610456565b7f80000000000000000000000000000000000000000000000000000000000000006109f986866000610d36565b10610a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a2032353500006064820152608401610456565b600081604051602401610a9b91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610b1e868683610d87565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610456565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610c2b816002611015565b60ff16821015610c3d57506000610773565b82600083610c4c826002611015565b60ff1692610c5c93929190611055565b610c659161107f565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c91906110c7565b1492915050565b6000610d23602d60298486611055565b610d2c916110e0565b60e01c9392505050565b6000610d4460026020611015565b60ff16831015610d55575080610d80565b83600284610d64826020611015565b60ff1692610d7493929190611055565b610d7d91611126565b90505b9392505050565b3415610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524335313634486f6f6b3a206e6f2076616c756520616c6c6f7765640000006044820152606401610456565b6040517ffe39827b0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fe39827b90610ea5907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908690600401611162565b6020604051808303816000875af1158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b91906110c7565b60008083601f840112610efa57600080fd5b50813567ffffffffffffffff811115610f1257600080fd5b602083019150836020828501011115610f2a57600080fd5b9250929050565b60008060008060408587031215610f4757600080fd5b843567ffffffffffffffff80821115610f5f57600080fd5b610f6b88838901610ee8565b90965094506020870135915080821115610f8457600080fd5b50610f9187828801610ee8565b95989497509550505050565b600060208284031215610faf57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610d8057600080fd5b60008060208385031215610fe657600080fd5b823567ffffffffffffffff811115610ffd57600080fd5b61100985828601610ee8565b90969095509350505050565b60ff8181168382160190811115610773577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000808585111561106557600080fd5b8386111561107257600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110bf5780818660020360031b1b83161692505b505092915050565b6000602082840312156110d957600080fd5b5051919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156110bf5760049490940360031b84901b1690921692915050565b80356020831015610773577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b63ffffffff841681526000602073ffffffffffffffffffffffffffffffffffffffff85168184015260606040840152835180606085015260005b818110156111b85785810183015185820160800152820161119c565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505094935050505056fea26469706673582212203b4d88db8b6cff501d89c9120142da9b65cf39211c964ccecfc129fa5f894e2064736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -286,7 +286,7 @@ const _abi = [
286
286
  type: "function",
287
287
  },
288
288
  ];
289
- const _bytecode = "0x6101206040523480156200001257600080fd5b506040516200160a3803806200160a8339810160408190526200003591620002da565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010891906200032e565b63ffffffff1660a0526200011c3362000256565b508190506200016c5760405162461bcd60e51b81526020600482015260266024820152600080516020620015ea83398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b81526020600482015260356024820152600080516020620015ea83398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b0381163b6200023f5760405162461bcd60e51b815260206004820152601f60248201527f45524335313634486f6f6b3a20696e76616c696420646973706174636865720060448201526064016200008e565b6001600160a01b0316610100525062000353915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620002c057600080fd5b919050565b805163ffffffff81168114620002c057600080fd5b60008060008060808587031215620002f157600080fd5b620002fc85620002a8565b93506200030c60208601620002c5565b9250604085015191506200032360608601620002a8565b905092959194509250565b6000602082840312156200034157600080fd5b6200034c82620002c5565b9392505050565b60805160a05160c05160e0516101005161122f620003bb600039600081816102d50152610e1701526000818161013f0152818161090a0152610e590152600081816101ad0152610e7b015260006102560152600081816103090152610c7f015261122f6000f3fe6080604052600436106100f35760003560e01c80638da5cb5b1161008a578063de523cf311610059578063de523cf31461032b578063e445e7dd14610358578063e5320bb914610374578063f2fde38b146103a457600080fd5b80638da5cb5b14610278578063aaccd230146102a3578063cb7e9057146102c3578063d5438eae146102f757600080fd5b80634deefab2116100c65780634deefab21461019b578063715018a6146101dd5780637f5a7c7b146101f25780638d3638f41461024457600080fd5b8063086011b9146100f85780630e72cc061461010d5780632858c55a1461012d5780633dfd38731461017b575b600080fd5b61010b610106366004610f31565b6103c4565b005b34801561011957600080fd5b5061010b610128366004610f9d565b610471565b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b34801561018757600080fd5b5061010b610196366004610f9d565b610587565b3480156101a757600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610172565b3480156101e957600080fd5b5061010b61069d565b3480156101fe57600080fd5b5060655461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610172565b34801561025057600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561028457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021f565b3480156102af57600080fd5b506101cf6102be366004610f31565b6106b1565b3480156102cf57600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030357600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033757600080fd5b5060665461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036457600080fd5b5060405160068152602001610172565b34801561038057600080fd5b5061039461038f366004610fd3565b610754565b6040519015158152602001610172565b3480156103b057600080fd5b5061010b6103bf366004610f9d565b610779565b6103ce8484610754565b61045f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61046b84848484610830565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104ab575073ffffffffffffffffffffffffffffffffffffffff8116155b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b61053f610b26565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105c1575073ffffffffffffffffffffffffffffffffffffffff8116155b61064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b610655610b26565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6106a5610b26565b6106af6000610ba7565b565b60006106bd8585610754565b610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610456565b600095945050505050565b60008115806107705750600161076a8484610c1e565b61ffff16145b90505b92915050565b610781610b26565b73ffffffffffffffffffffffffffffffffffffffff8116610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610456565b61082d81610ba7565b50565b600061087183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6f92505050565b905061087c81610c7a565b610908576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c6174657374206469737061746368656400000000000000006064820152608401610456565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff166109398484610d13565b63ffffffff16146109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e00000000000000000000006064820152608401610456565b7f80000000000000000000000000000000000000000000000000000000000000006109f986866000610d36565b10610a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a2032353500006064820152608401610456565b600081604051602401610a9b91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610b1e868683610d87565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610456565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610c2b816002611015565b60ff16821015610c3d57506000610773565b82600083610c4c826002611015565b60ff1692610c5c93929190611055565b610c659161107f565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c91906110c7565b1492915050565b6000610d23602d60298486611055565b610d2c916110e0565b60e01c9392505050565b6000610d4460026020611015565b60ff16831015610d55575080610d80565b83600284610d64826020611015565b60ff1692610d7493929190611055565b610d7d91611126565b90505b9392505050565b3415610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524335313634486f6f6b3a206e6f2076616c756520616c6c6f7765640000006044820152606401610456565b6040517ffe39827b0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fe39827b90610ea5907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908690600401611162565b6020604051808303816000875af1158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b91906110c7565b60008083601f840112610efa57600080fd5b50813567ffffffffffffffff811115610f1257600080fd5b602083019150836020828501011115610f2a57600080fd5b9250929050565b60008060008060408587031215610f4757600080fd5b843567ffffffffffffffff80821115610f5f57600080fd5b610f6b88838901610ee8565b90965094506020870135915080821115610f8457600080fd5b50610f9187828801610ee8565b95989497509550505050565b600060208284031215610faf57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610d8057600080fd5b60008060208385031215610fe657600080fd5b823567ffffffffffffffff811115610ffd57600080fd5b61100985828601610ee8565b90969095509350505050565b60ff8181168382160190811115610773577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000808585111561106557600080fd5b8386111561107257600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110bf5780818660020360031b1b83161692505b505092915050565b6000602082840312156110d957600080fd5b5051919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156110bf5760049490940360031b84901b1690921692915050565b80356020831015610773577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b63ffffffff841681526000602073ffffffffffffffffffffffffffffffffffffffff85168184015260606040840152835180606085015260005b818110156111b85785810183015185820160800152820161119c565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505094935050505056fea2646970667358221220caa093ccc47ef4da14734e4db00d19cc9e93be95b37b423595525ef8d9ad84c864736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
289
+ const _bytecode = "0x6101206040523480156200001257600080fd5b506040516200160a3803806200160a8339810160408190526200003591620002da565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010891906200032e565b63ffffffff1660a0526200011c3362000256565b508190506200016c5760405162461bcd60e51b81526020600482015260266024820152600080516020620015ea83398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b81526020600482015260356024820152600080516020620015ea83398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b0381163b6200023f5760405162461bcd60e51b815260206004820152601f60248201527f45524335313634486f6f6b3a20696e76616c696420646973706174636865720060448201526064016200008e565b6001600160a01b0316610100525062000353915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620002c057600080fd5b919050565b805163ffffffff81168114620002c057600080fd5b60008060008060808587031215620002f157600080fd5b620002fc85620002a8565b93506200030c60208601620002c5565b9250604085015191506200032360608601620002a8565b905092959194509250565b6000602082840312156200034157600080fd5b6200034c82620002c5565b9392505050565b60805160a05160c05160e0516101005161122f620003bb600039600081816102d50152610e1701526000818161013f0152818161090a0152610e590152600081816101ad0152610e7b015260006102560152600081816103090152610c7f015261122f6000f3fe6080604052600436106100f35760003560e01c80638da5cb5b1161008a578063de523cf311610059578063de523cf31461032b578063e445e7dd14610358578063e5320bb914610374578063f2fde38b146103a457600080fd5b80638da5cb5b14610278578063aaccd230146102a3578063cb7e9057146102c3578063d5438eae146102f757600080fd5b80634deefab2116100c65780634deefab21461019b578063715018a6146101dd5780637f5a7c7b146101f25780638d3638f41461024457600080fd5b8063086011b9146100f85780630e72cc061461010d5780632858c55a1461012d5780633dfd38731461017b575b600080fd5b61010b610106366004610f31565b6103c4565b005b34801561011957600080fd5b5061010b610128366004610f9d565b610471565b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b34801561018757600080fd5b5061010b610196366004610f9d565b610587565b3480156101a757600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610172565b3480156101e957600080fd5b5061010b61069d565b3480156101fe57600080fd5b5060655461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610172565b34801561025057600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561028457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021f565b3480156102af57600080fd5b506101cf6102be366004610f31565b6106b1565b3480156102cf57600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030357600080fd5b5061021f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033757600080fd5b5060665461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036457600080fd5b5060405160068152602001610172565b34801561038057600080fd5b5061039461038f366004610fd3565b610754565b6040519015158152602001610172565b3480156103b057600080fd5b5061010b6103bf366004610f9d565b610779565b6103ce8484610754565b61045f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61046b84848484610830565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104ab575073ffffffffffffffffffffffffffffffffffffffff8116155b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b61053f610b26565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105c1575073ffffffffffffffffffffffffffffffffffffffff8116155b61064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610456565b610655610b26565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6106a5610b26565b6106af6000610ba7565b565b60006106bd8585610754565b610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610456565b600095945050505050565b60008115806107705750600161076a8484610c1e565b61ffff16145b90505b92915050565b610781610b26565b73ffffffffffffffffffffffffffffffffffffffff8116610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610456565b61082d81610ba7565b50565b600061087183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6f92505050565b905061087c81610c7a565b610908576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c6174657374206469737061746368656400000000000000006064820152608401610456565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff166109398484610d13565b63ffffffff16146109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e00000000000000000000006064820152608401610456565b7f80000000000000000000000000000000000000000000000000000000000000006109f986866000610d36565b10610a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a2032353500006064820152608401610456565b600081604051602401610a9b91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610b1e868683610d87565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610456565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610c2b816002611015565b60ff16821015610c3d57506000610773565b82600083610c4c826002611015565b60ff1692610c5c93929190611055565b610c659161107f565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c91906110c7565b1492915050565b6000610d23602d60298486611055565b610d2c916110e0565b60e01c9392505050565b6000610d4460026020611015565b60ff16831015610d55575080610d80565b83600284610d64826020611015565b60ff1692610d7493929190611055565b610d7d91611126565b90505b9392505050565b3415610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524335313634486f6f6b3a206e6f2076616c756520616c6c6f7765640000006044820152606401610456565b6040517ffe39827b0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063fe39827b90610ea5907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908690600401611162565b6020604051808303816000875af1158015610ec4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b91906110c7565b60008083601f840112610efa57600080fd5b50813567ffffffffffffffff811115610f1257600080fd5b602083019150836020828501011115610f2a57600080fd5b9250929050565b60008060008060408587031215610f4757600080fd5b843567ffffffffffffffff80821115610f5f57600080fd5b610f6b88838901610ee8565b90965094506020870135915080821115610f8457600080fd5b50610f9187828801610ee8565b95989497509550505050565b600060208284031215610faf57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610d8057600080fd5b60008060208385031215610fe657600080fd5b823567ffffffffffffffff811115610ffd57600080fd5b61100985828601610ee8565b90969095509350505050565b60ff8181168382160190811115610773577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000808585111561106557600080fd5b8386111561107257600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110bf5780818660020360031b1b83161692505b505092915050565b6000602082840312156110d957600080fd5b5051919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156110bf5760049490940360031b84901b1690921692915050565b80356020831015610773577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b63ffffffff841681526000602073ffffffffffffffffffffffffffffffffffffffff85168184015260606040840152835180606085015260005b818110156111b85785810183015185820160800152820161119c565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505094935050505056fea26469706673582212203b4d88db8b6cff501d89c9120142da9b65cf39211c964ccecfc129fa5f894e2064736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
290
290
  const isSuperArgs = (xs) => xs.length > 1;
291
291
  export class ERC5164Hook__factory extends ContractFactory {
292
292
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class LayerZeroV1Hook__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): LayerZeroV1Hook;
14
14
  connect(signer: Signer): LayerZeroV1Hook__factory;
15
- static readonly bytecode = "0x60e06040523480156200001157600080fd5b50604051620017c1380380620017c183398101604081905262000034916200019b565b81806001600160a01b0381163b620000925760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001039190620001d3565b63ffffffff1660a05262000117336200012c565b50506001600160a01b031660c0525062000202565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019657600080fd5b919050565b60008060408385031215620001af57600080fd5b620001ba836200017e565b9150620001ca602084016200017e565b90509250929050565b600060208284031215620001e657600080fd5b815163ffffffff81168114620001fb57600080fd5b9392505050565b60805160a05160c05161157a620002476000396000818161029a0152818161098b0152610b59015260006101cb0152600081816102ce0152610c77015261157a6000f3fe6080604052600436106100f35760003560e01c8063aaccd2301161008a578063e445e7dd11610059578063e445e7dd1461031d578063e5320bb914610339578063f2fde38b14610369578063fd95c4b91461038957600080fd5b8063aaccd2301461025a578063caa8046b14610288578063d5438eae146102bc578063de523cf3146102f057600080fd5b80637f5a7c7b116100c65780637f5a7c7b146101625780638d3638f4146101b95780638da5cb5b14610202578063a50eb2901461022d57600080fd5b8063086011b9146100f85780630e72cc061461010d5780633dfd38731461012d578063715018a61461014d575b600080fd5b61010b610106366004610d88565b6103b6565b005b34801561011957600080fd5b5061010b610128366004610e1d565b610463565b34801561013957600080fd5b5061010b610148366004610e1d565b610579565b34801561015957600080fd5b5061010b61068f565b34801561016e57600080fd5b5060655461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101c557600080fd5b506101ed7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561020e57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661018f565b34801561023957600080fd5b5061024d610248366004610e38565b6106a3565b6040516101b09190610ede565b34801561026657600080fd5b5061027a610275366004610d88565b6106cc565b6040519081526020016101b0565b34801561029457600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c857600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fc57600080fd5b5060665461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032957600080fd5b50604051600981526020016101b0565b34801561034557600080fd5b50610359610354366004610ef1565b610779565b60405190151581526020016101b0565b34801561037557600080fd5b5061010b610384366004610e1d565b61079e565b34801561039557600080fd5b506103a96103a4366004610ef1565b610855565b6040516101b09190610f33565b6103c08484610779565b610451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61045d84848484610892565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061049d575073ffffffffffffffffffffffffffffffffffffffff8116155b610529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610531610a3e565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105b3575073ffffffffffffffffffffffffffffffffffffffff8116155b61063f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610647610a3e565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610697610a3e565b6106a16000610abf565b565b6060816040516020016106b691906110a6565b6040516020818303038152906040529050919050565b60006106d88585610779565b610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610448565b61077085858585610b36565b95945050505050565b60008115806107955750600161078f8484610c16565b61ffff16145b90505b92915050565b6107a6610a3e565b73ffffffffffffffffffffffffffffffffffffffff8116610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610448565b61085281610abf565b50565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a08201526107958284018461129a565b60006108d383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6792505050565b90506108de81610c72565b61096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f6d657373616765206e6f742064697370617463686564206279206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610448565b3660006109778787610d0b565b9150915060006109878383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c580310034836000015184608001518560600151866040015160008860a001516040518863ffffffff1660e01b8152600401610a0296959493929190611382565b6000604051808303818588803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b50505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610448565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610b458787610d0b565b915091506000610b558383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340a7bb1082600001518360200151846060015160008660a001516040518663ffffffff1660e01b8152600401610bc99594939291906113f6565b6040805180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c099190611455565b5098975050505050505050565b6000610c23816002611479565b60ff16821015610c3557506000610798565b82600083610c44826002611479565b60ff1692610c54939291906114b9565b610c5d916114e3565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d04919061152b565b1492915050565b3660006056831015610d2d57610d2460008085876114b9565b91509150610d3f565b610d3a83605681876114b9565b915091505b9250929050565b60008083601f840112610d5857600080fd5b50813567ffffffffffffffff811115610d7057600080fd5b602083019150836020828501011115610d3f57600080fd5b60008060008060408587031215610d9e57600080fd5b843567ffffffffffffffff80821115610db657600080fd5b610dc288838901610d46565b90965094506020870135915080821115610ddb57600080fd5b50610de887828801610d46565b95989497509550505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e1857600080fd5b919050565b600060208284031215610e2f57600080fd5b61079582610df4565b600060208284031215610e4a57600080fd5b813567ffffffffffffffff811115610e6157600080fd5b820160c08185031215610e7357600080fd5b9392505050565b6000815180845260005b81811015610ea057602081850181015186830182015201610e84565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006107956020830184610e7a565b60008060208385031215610f0457600080fd5b823567ffffffffffffffff811115610f1b57600080fd5b610f2785828601610d46565b90969095509350505050565b6020815261ffff82511660208201526000602083015173ffffffffffffffffffffffffffffffffffffffff80821660408501528060408601511660608501525050606083015160c06080840152610f8d60e0840182610e7a565b905060808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808584030160a0860152610fc98383610e7a565b925060a08601519150808584030160c0860152506107708282610e7a565b803561ffff81168114610e1857600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102e57600080fd5b830160208101925035905067ffffffffffffffff81111561104e57600080fd5b803603821315610d3f57600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815261ffff6110b683610fe7565b16602082015260006110ca60208401610df4565b73ffffffffffffffffffffffffffffffffffffffff8082166040850152806110f460408701610df4565b16606085015250506111096060840184610ff9565b60c0608085015261111e60e08501828461105d565b91505061112e6080850185610ff9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808685030160a087015261116484838561105d565b935061117360a0880188610ff9565b93509150808685030160c08701525061118d83838361105d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156111e9576111e9611197565b60405290565b600082601f83011261120057600080fd5b813567ffffffffffffffff8082111561121b5761121b611197565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561126157611261611197565b8160405283815286602085880101111561127a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156112ac57600080fd5b813567ffffffffffffffff808211156112c457600080fd5b9083019060c082860312156112d857600080fd5b6112e06111c6565b6112e983610fe7565b81526112f760208401610df4565b602082015261130860408401610df4565b604082015260608301358281111561131f57600080fd5b61132b878286016111ef565b60608301525060808301358281111561134357600080fd5b61134f878286016111ef565b60808301525060a08301358281111561136757600080fd5b611373878286016111ef565b60a08301525095945050505050565b61ffff8716815260c06020820152600061139f60c0830188610e7a565b82810360408401526113b18188610e7a565b73ffffffffffffffffffffffffffffffffffffffff87811660608601528616608085015283810360a085015290506113e98185610e7a565b9998505050505050505050565b61ffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015260a06040820152600061142f60a0830186610e7a565b841515606084015282810360808401526114498185610e7a565b98975050505050505050565b6000806040838503121561146857600080fd5b505080516020909101519092909150565b60ff8181168382160190811115610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080858511156114c957600080fd5b838611156114d657600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115235780818660020360031b1b83161692505b505092915050565b60006020828403121561153d57600080fd5b505191905056fea2646970667358221220dfb966f0bce70293f5194058e0aecc523f62f1132a263346ca31b23c652c1a3e64736f6c63430008130033";
15
+ static readonly bytecode = "0x60e06040523480156200001157600080fd5b50604051620017c1380380620017c183398101604081905262000034916200019b565b81806001600160a01b0381163b620000925760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001039190620001d3565b63ffffffff1660a05262000117336200012c565b50506001600160a01b031660c0525062000202565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019657600080fd5b919050565b60008060408385031215620001af57600080fd5b620001ba836200017e565b9150620001ca602084016200017e565b90509250929050565b600060208284031215620001e657600080fd5b815163ffffffff81168114620001fb57600080fd5b9392505050565b60805160a05160c05161157a620002476000396000818161029a0152818161098b0152610b59015260006101cb0152600081816102ce0152610c77015261157a6000f3fe6080604052600436106100f35760003560e01c8063aaccd2301161008a578063e445e7dd11610059578063e445e7dd1461031d578063e5320bb914610339578063f2fde38b14610369578063fd95c4b91461038957600080fd5b8063aaccd2301461025a578063caa8046b14610288578063d5438eae146102bc578063de523cf3146102f057600080fd5b80637f5a7c7b116100c65780637f5a7c7b146101625780638d3638f4146101b95780638da5cb5b14610202578063a50eb2901461022d57600080fd5b8063086011b9146100f85780630e72cc061461010d5780633dfd38731461012d578063715018a61461014d575b600080fd5b61010b610106366004610d88565b6103b6565b005b34801561011957600080fd5b5061010b610128366004610e1d565b610463565b34801561013957600080fd5b5061010b610148366004610e1d565b610579565b34801561015957600080fd5b5061010b61068f565b34801561016e57600080fd5b5060655461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101c557600080fd5b506101ed7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561020e57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661018f565b34801561023957600080fd5b5061024d610248366004610e38565b6106a3565b6040516101b09190610ede565b34801561026657600080fd5b5061027a610275366004610d88565b6106cc565b6040519081526020016101b0565b34801561029457600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c857600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fc57600080fd5b5060665461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032957600080fd5b50604051600981526020016101b0565b34801561034557600080fd5b50610359610354366004610ef1565b610779565b60405190151581526020016101b0565b34801561037557600080fd5b5061010b610384366004610e1d565b61079e565b34801561039557600080fd5b506103a96103a4366004610ef1565b610855565b6040516101b09190610f33565b6103c08484610779565b610451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61045d84848484610892565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061049d575073ffffffffffffffffffffffffffffffffffffffff8116155b610529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610531610a3e565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105b3575073ffffffffffffffffffffffffffffffffffffffff8116155b61063f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610647610a3e565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610697610a3e565b6106a16000610abf565b565b6060816040516020016106b691906110a6565b6040516020818303038152906040529050919050565b60006106d88585610779565b610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610448565b61077085858585610b36565b95945050505050565b60008115806107955750600161078f8484610c16565b61ffff16145b90505b92915050565b6107a6610a3e565b73ffffffffffffffffffffffffffffffffffffffff8116610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610448565b61085281610abf565b50565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a08201526107958284018461129a565b60006108d383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6792505050565b90506108de81610c72565b61096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f6d657373616765206e6f742064697370617463686564206279206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610448565b3660006109778787610d0b565b9150915060006109878383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c580310034836000015184608001518560600151866040015160008860a001516040518863ffffffff1660e01b8152600401610a0296959493929190611382565b6000604051808303818588803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b50505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610448565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610b458787610d0b565b915091506000610b558383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340a7bb1082600001518360200151846060015160008660a001516040518663ffffffff1660e01b8152600401610bc99594939291906113f6565b6040805180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c099190611455565b5098975050505050505050565b6000610c23816002611479565b60ff16821015610c3557506000610798565b82600083610c44826002611479565b60ff1692610c54939291906114b9565b610c5d916114e3565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d04919061152b565b1492915050565b3660006056831015610d2d57610d2460008085876114b9565b91509150610d3f565b610d3a83605681876114b9565b915091505b9250929050565b60008083601f840112610d5857600080fd5b50813567ffffffffffffffff811115610d7057600080fd5b602083019150836020828501011115610d3f57600080fd5b60008060008060408587031215610d9e57600080fd5b843567ffffffffffffffff80821115610db657600080fd5b610dc288838901610d46565b90965094506020870135915080821115610ddb57600080fd5b50610de887828801610d46565b95989497509550505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e1857600080fd5b919050565b600060208284031215610e2f57600080fd5b61079582610df4565b600060208284031215610e4a57600080fd5b813567ffffffffffffffff811115610e6157600080fd5b820160c08185031215610e7357600080fd5b9392505050565b6000815180845260005b81811015610ea057602081850181015186830182015201610e84565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006107956020830184610e7a565b60008060208385031215610f0457600080fd5b823567ffffffffffffffff811115610f1b57600080fd5b610f2785828601610d46565b90969095509350505050565b6020815261ffff82511660208201526000602083015173ffffffffffffffffffffffffffffffffffffffff80821660408501528060408601511660608501525050606083015160c06080840152610f8d60e0840182610e7a565b905060808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808584030160a0860152610fc98383610e7a565b925060a08601519150808584030160c0860152506107708282610e7a565b803561ffff81168114610e1857600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102e57600080fd5b830160208101925035905067ffffffffffffffff81111561104e57600080fd5b803603821315610d3f57600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815261ffff6110b683610fe7565b16602082015260006110ca60208401610df4565b73ffffffffffffffffffffffffffffffffffffffff8082166040850152806110f460408701610df4565b16606085015250506111096060840184610ff9565b60c0608085015261111e60e08501828461105d565b91505061112e6080850185610ff9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808685030160a087015261116484838561105d565b935061117360a0880188610ff9565b93509150808685030160c08701525061118d83838361105d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156111e9576111e9611197565b60405290565b600082601f83011261120057600080fd5b813567ffffffffffffffff8082111561121b5761121b611197565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561126157611261611197565b8160405283815286602085880101111561127a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156112ac57600080fd5b813567ffffffffffffffff808211156112c457600080fd5b9083019060c082860312156112d857600080fd5b6112e06111c6565b6112e983610fe7565b81526112f760208401610df4565b602082015261130860408401610df4565b604082015260608301358281111561131f57600080fd5b61132b878286016111ef565b60608301525060808301358281111561134357600080fd5b61134f878286016111ef565b60808301525060a08301358281111561136757600080fd5b611373878286016111ef565b60a08301525095945050505050565b61ffff8716815260c06020820152600061139f60c0830188610e7a565b82810360408401526113b18188610e7a565b73ffffffffffffffffffffffffffffffffffffffff87811660608601528616608085015283810360a085015290506113e98185610e7a565b9998505050505050505050565b61ffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015260a06040820152600061142f60a0830186610e7a565b841515606084015282810360808401526114498185610e7a565b98975050505050505050565b6000806040838503121561146857600080fd5b505080516020909101519092909150565b60ff8181168382160190811115610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080858511156114c957600080fd5b838611156114d657600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115235780818660020360031b1b83161692505b505092915050565b60006020828403121561153d57600080fd5b505191905056fea264697066735822122033440fe07bdf766034b40b45a9a0d9ebba5e5cd80a6771932ae16d8c4aa21b8164736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -352,7 +352,7 @@ const _abi = [
352
352
  type: "function",
353
353
  },
354
354
  ];
355
- const _bytecode = "0x60e06040523480156200001157600080fd5b50604051620017c1380380620017c183398101604081905262000034916200019b565b81806001600160a01b0381163b620000925760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001039190620001d3565b63ffffffff1660a05262000117336200012c565b50506001600160a01b031660c0525062000202565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019657600080fd5b919050565b60008060408385031215620001af57600080fd5b620001ba836200017e565b9150620001ca602084016200017e565b90509250929050565b600060208284031215620001e657600080fd5b815163ffffffff81168114620001fb57600080fd5b9392505050565b60805160a05160c05161157a620002476000396000818161029a0152818161098b0152610b59015260006101cb0152600081816102ce0152610c77015261157a6000f3fe6080604052600436106100f35760003560e01c8063aaccd2301161008a578063e445e7dd11610059578063e445e7dd1461031d578063e5320bb914610339578063f2fde38b14610369578063fd95c4b91461038957600080fd5b8063aaccd2301461025a578063caa8046b14610288578063d5438eae146102bc578063de523cf3146102f057600080fd5b80637f5a7c7b116100c65780637f5a7c7b146101625780638d3638f4146101b95780638da5cb5b14610202578063a50eb2901461022d57600080fd5b8063086011b9146100f85780630e72cc061461010d5780633dfd38731461012d578063715018a61461014d575b600080fd5b61010b610106366004610d88565b6103b6565b005b34801561011957600080fd5b5061010b610128366004610e1d565b610463565b34801561013957600080fd5b5061010b610148366004610e1d565b610579565b34801561015957600080fd5b5061010b61068f565b34801561016e57600080fd5b5060655461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101c557600080fd5b506101ed7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561020e57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661018f565b34801561023957600080fd5b5061024d610248366004610e38565b6106a3565b6040516101b09190610ede565b34801561026657600080fd5b5061027a610275366004610d88565b6106cc565b6040519081526020016101b0565b34801561029457600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c857600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fc57600080fd5b5060665461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032957600080fd5b50604051600981526020016101b0565b34801561034557600080fd5b50610359610354366004610ef1565b610779565b60405190151581526020016101b0565b34801561037557600080fd5b5061010b610384366004610e1d565b61079e565b34801561039557600080fd5b506103a96103a4366004610ef1565b610855565b6040516101b09190610f33565b6103c08484610779565b610451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61045d84848484610892565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061049d575073ffffffffffffffffffffffffffffffffffffffff8116155b610529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610531610a3e565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105b3575073ffffffffffffffffffffffffffffffffffffffff8116155b61063f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610647610a3e565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610697610a3e565b6106a16000610abf565b565b6060816040516020016106b691906110a6565b6040516020818303038152906040529050919050565b60006106d88585610779565b610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610448565b61077085858585610b36565b95945050505050565b60008115806107955750600161078f8484610c16565b61ffff16145b90505b92915050565b6107a6610a3e565b73ffffffffffffffffffffffffffffffffffffffff8116610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610448565b61085281610abf565b50565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a08201526107958284018461129a565b60006108d383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6792505050565b90506108de81610c72565b61096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f6d657373616765206e6f742064697370617463686564206279206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610448565b3660006109778787610d0b565b9150915060006109878383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c580310034836000015184608001518560600151866040015160008860a001516040518863ffffffff1660e01b8152600401610a0296959493929190611382565b6000604051808303818588803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b50505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610448565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610b458787610d0b565b915091506000610b558383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340a7bb1082600001518360200151846060015160008660a001516040518663ffffffff1660e01b8152600401610bc99594939291906113f6565b6040805180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c099190611455565b5098975050505050505050565b6000610c23816002611479565b60ff16821015610c3557506000610798565b82600083610c44826002611479565b60ff1692610c54939291906114b9565b610c5d916114e3565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d04919061152b565b1492915050565b3660006056831015610d2d57610d2460008085876114b9565b91509150610d3f565b610d3a83605681876114b9565b915091505b9250929050565b60008083601f840112610d5857600080fd5b50813567ffffffffffffffff811115610d7057600080fd5b602083019150836020828501011115610d3f57600080fd5b60008060008060408587031215610d9e57600080fd5b843567ffffffffffffffff80821115610db657600080fd5b610dc288838901610d46565b90965094506020870135915080821115610ddb57600080fd5b50610de887828801610d46565b95989497509550505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e1857600080fd5b919050565b600060208284031215610e2f57600080fd5b61079582610df4565b600060208284031215610e4a57600080fd5b813567ffffffffffffffff811115610e6157600080fd5b820160c08185031215610e7357600080fd5b9392505050565b6000815180845260005b81811015610ea057602081850181015186830182015201610e84565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006107956020830184610e7a565b60008060208385031215610f0457600080fd5b823567ffffffffffffffff811115610f1b57600080fd5b610f2785828601610d46565b90969095509350505050565b6020815261ffff82511660208201526000602083015173ffffffffffffffffffffffffffffffffffffffff80821660408501528060408601511660608501525050606083015160c06080840152610f8d60e0840182610e7a565b905060808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808584030160a0860152610fc98383610e7a565b925060a08601519150808584030160c0860152506107708282610e7a565b803561ffff81168114610e1857600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102e57600080fd5b830160208101925035905067ffffffffffffffff81111561104e57600080fd5b803603821315610d3f57600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815261ffff6110b683610fe7565b16602082015260006110ca60208401610df4565b73ffffffffffffffffffffffffffffffffffffffff8082166040850152806110f460408701610df4565b16606085015250506111096060840184610ff9565b60c0608085015261111e60e08501828461105d565b91505061112e6080850185610ff9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808685030160a087015261116484838561105d565b935061117360a0880188610ff9565b93509150808685030160c08701525061118d83838361105d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156111e9576111e9611197565b60405290565b600082601f83011261120057600080fd5b813567ffffffffffffffff8082111561121b5761121b611197565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561126157611261611197565b8160405283815286602085880101111561127a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156112ac57600080fd5b813567ffffffffffffffff808211156112c457600080fd5b9083019060c082860312156112d857600080fd5b6112e06111c6565b6112e983610fe7565b81526112f760208401610df4565b602082015261130860408401610df4565b604082015260608301358281111561131f57600080fd5b61132b878286016111ef565b60608301525060808301358281111561134357600080fd5b61134f878286016111ef565b60808301525060a08301358281111561136757600080fd5b611373878286016111ef565b60a08301525095945050505050565b61ffff8716815260c06020820152600061139f60c0830188610e7a565b82810360408401526113b18188610e7a565b73ffffffffffffffffffffffffffffffffffffffff87811660608601528616608085015283810360a085015290506113e98185610e7a565b9998505050505050505050565b61ffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015260a06040820152600061142f60a0830186610e7a565b841515606084015282810360808401526114498185610e7a565b98975050505050505050565b6000806040838503121561146857600080fd5b505080516020909101519092909150565b60ff8181168382160190811115610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080858511156114c957600080fd5b838611156114d657600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115235780818660020360031b1b83161692505b505092915050565b60006020828403121561153d57600080fd5b505191905056fea2646970667358221220dfb966f0bce70293f5194058e0aecc523f62f1132a263346ca31b23c652c1a3e64736f6c63430008130033";
355
+ const _bytecode = "0x60e06040523480156200001157600080fd5b50604051620017c1380380620017c183398101604081905262000034916200019b565b81806001600160a01b0381163b620000925760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001039190620001d3565b63ffffffff1660a05262000117336200012c565b50506001600160a01b031660c0525062000202565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019657600080fd5b919050565b60008060408385031215620001af57600080fd5b620001ba836200017e565b9150620001ca602084016200017e565b90509250929050565b600060208284031215620001e657600080fd5b815163ffffffff81168114620001fb57600080fd5b9392505050565b60805160a05160c05161157a620002476000396000818161029a0152818161098b0152610b59015260006101cb0152600081816102ce0152610c77015261157a6000f3fe6080604052600436106100f35760003560e01c8063aaccd2301161008a578063e445e7dd11610059578063e445e7dd1461031d578063e5320bb914610339578063f2fde38b14610369578063fd95c4b91461038957600080fd5b8063aaccd2301461025a578063caa8046b14610288578063d5438eae146102bc578063de523cf3146102f057600080fd5b80637f5a7c7b116100c65780637f5a7c7b146101625780638d3638f4146101b95780638da5cb5b14610202578063a50eb2901461022d57600080fd5b8063086011b9146100f85780630e72cc061461010d5780633dfd38731461012d578063715018a61461014d575b600080fd5b61010b610106366004610d88565b6103b6565b005b34801561011957600080fd5b5061010b610128366004610e1d565b610463565b34801561013957600080fd5b5061010b610148366004610e1d565b610579565b34801561015957600080fd5b5061010b61068f565b34801561016e57600080fd5b5060655461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101c557600080fd5b506101ed7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561020e57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661018f565b34801561023957600080fd5b5061024d610248366004610e38565b6106a3565b6040516101b09190610ede565b34801561026657600080fd5b5061027a610275366004610d88565b6106cc565b6040519081526020016101b0565b34801561029457600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c857600080fd5b5061018f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fc57600080fd5b5060665461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032957600080fd5b50604051600981526020016101b0565b34801561034557600080fd5b50610359610354366004610ef1565b610779565b60405190151581526020016101b0565b34801561037557600080fd5b5061010b610384366004610e1d565b61079e565b34801561039557600080fd5b506103a96103a4366004610ef1565b610855565b6040516101b09190610f33565b6103c08484610779565b610451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61045d84848484610892565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061049d575073ffffffffffffffffffffffffffffffffffffffff8116155b610529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610531610a3e565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806105b3575073ffffffffffffffffffffffffffffffffffffffff8116155b61063f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610448565b610647610a3e565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610697610a3e565b6106a16000610abf565b565b6060816040516020016106b691906110a6565b6040516020818303038152906040529050919050565b60006106d88585610779565b610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610448565b61077085858585610b36565b95945050505050565b60008115806107955750600161078f8484610c16565b61ffff16145b90505b92915050565b6107a6610a3e565b73ffffffffffffffffffffffffffffffffffffffff8116610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610448565b61085281610abf565b50565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a08201526107958284018461129a565b60006108d383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c6792505050565b90506108de81610c72565b61096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f6d657373616765206e6f742064697370617463686564206279206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610448565b3660006109778787610d0b565b9150915060006109878383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c580310034836000015184608001518560600151866040015160008860a001516040518863ffffffff1660e01b8152600401610a0296959493929190611382565b6000604051808303818588803b158015610a1b57600080fd5b505af1158015610a2f573d6000803e3d6000fd5b50505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610448565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610b458787610d0b565b915091506000610b558383610855565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340a7bb1082600001518360200151846060015160008660a001516040518663ffffffff1660e01b8152600401610bc99594939291906113f6565b6040805180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c099190611455565b5098975050505050505050565b6000610c23816002611479565b60ff16821015610c3557506000610798565b82600083610c44826002611479565b60ff1692610c54939291906114b9565b610c5d916114e3565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d04919061152b565b1492915050565b3660006056831015610d2d57610d2460008085876114b9565b91509150610d3f565b610d3a83605681876114b9565b915091505b9250929050565b60008083601f840112610d5857600080fd5b50813567ffffffffffffffff811115610d7057600080fd5b602083019150836020828501011115610d3f57600080fd5b60008060008060408587031215610d9e57600080fd5b843567ffffffffffffffff80821115610db657600080fd5b610dc288838901610d46565b90965094506020870135915080821115610ddb57600080fd5b50610de887828801610d46565b95989497509550505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e1857600080fd5b919050565b600060208284031215610e2f57600080fd5b61079582610df4565b600060208284031215610e4a57600080fd5b813567ffffffffffffffff811115610e6157600080fd5b820160c08185031215610e7357600080fd5b9392505050565b6000815180845260005b81811015610ea057602081850181015186830182015201610e84565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006107956020830184610e7a565b60008060208385031215610f0457600080fd5b823567ffffffffffffffff811115610f1b57600080fd5b610f2785828601610d46565b90969095509350505050565b6020815261ffff82511660208201526000602083015173ffffffffffffffffffffffffffffffffffffffff80821660408501528060408601511660608501525050606083015160c06080840152610f8d60e0840182610e7a565b905060808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808584030160a0860152610fc98383610e7a565b925060a08601519150808584030160c0860152506107708282610e7a565b803561ffff81168114610e1857600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102e57600080fd5b830160208101925035905067ffffffffffffffff81111561104e57600080fd5b803603821315610d3f57600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815261ffff6110b683610fe7565b16602082015260006110ca60208401610df4565b73ffffffffffffffffffffffffffffffffffffffff8082166040850152806110f460408701610df4565b16606085015250506111096060840184610ff9565b60c0608085015261111e60e08501828461105d565b91505061112e6080850185610ff9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0808685030160a087015261116484838561105d565b935061117360a0880188610ff9565b93509150808685030160c08701525061118d83838361105d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156111e9576111e9611197565b60405290565b600082601f83011261120057600080fd5b813567ffffffffffffffff8082111561121b5761121b611197565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561126157611261611197565b8160405283815286602085880101111561127a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156112ac57600080fd5b813567ffffffffffffffff808211156112c457600080fd5b9083019060c082860312156112d857600080fd5b6112e06111c6565b6112e983610fe7565b81526112f760208401610df4565b602082015261130860408401610df4565b604082015260608301358281111561131f57600080fd5b61132b878286016111ef565b60608301525060808301358281111561134357600080fd5b61134f878286016111ef565b60808301525060a08301358281111561136757600080fd5b611373878286016111ef565b60a08301525095945050505050565b61ffff8716815260c06020820152600061139f60c0830188610e7a565b82810360408401526113b18188610e7a565b73ffffffffffffffffffffffffffffffffffffffff87811660608601528616608085015283810360a085015290506113e98185610e7a565b9998505050505050505050565b61ffff8616815273ffffffffffffffffffffffffffffffffffffffff8516602082015260a06040820152600061142f60a0830186610e7a565b841515606084015282810360808401526114498185610e7a565b98975050505050505050565b6000806040838503121561146857600080fd5b505080516020909101519092909150565b60ff8181168382160190811115610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080858511156114c957600080fd5b838611156114d657600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115235780818660020360031b1b83161692505b505092915050565b60006020828403121561153d57600080fd5b505191905056fea264697066735822122033440fe07bdf766034b40b45a9a0d9ebba5e5cd80a6771932ae16d8c4aa21b8164736f6c63430008130033";
356
356
  const isSuperArgs = (xs) => xs.length > 1;
357
357
  export class LayerZeroV1Hook__factory extends ContractFactory {
358
358
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class LayerZeroV2Hook__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): LayerZeroV2Hook;
14
14
  connect(signer: Signer): LayerZeroV2Hook__factory;
15
- static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162001c3838038062001c38833981016040819052620000359162000281565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001089190620002d5565b63ffffffff1660a0526200011c33620001fd565b508190506200016c5760405162461bcd60e51b8152602060048201526026602482015260008051602062001c1883398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b8152602060048201526035602482015260008051602062001c1883398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b03166101005250620002fa915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200026757600080fd5b919050565b805163ffffffff811681146200026757600080fd5b600080600080608085870312156200029857600080fd5b620002a3856200024f565b9350620002b3602086016200026c565b925060408501519150620002ca606086016200024f565b905092959194509250565b600060208284031215620002e857600080fd5b620002f3826200026c565b9392505050565b60805160a05160c05160e051610100516118b6620003626000396000818161033801528181610e4f01526111070152600081816101750152610a85015260008181610210015261108a015260006102b901526000818161036c0152610f4d01526118b66000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063de523cf311610074578063e5320bb911610059578063e5320bb9146103d7578063f2fde38b14610407578063fd95c4b91461042757600080fd5b8063de523cf31461038e578063e445e7dd146103bb57600080fd5b80638da5cb5b146102db578063aaccd23014610306578063caa8046b14610326578063d5438eae1461035a57600080fd5b80633dfd3873116100fc578063715018a6116100e1578063715018a6146102405780637f5a7c7b146102555780638d3638f4146102a757600080fd5b80633dfd3873146101de5780634deefab2146101fe57600080fd5b8063086011b91461012e5780630e72cc06146101435780632858c55a146101635780632c74fe7a146101b1575b600080fd5b61014161013c366004611257565b610456565b005b34801561014f57600080fd5b5061014161015e3660046112c3565b610503565b34801561016f57600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b3480156101bd57600080fd5b506101d16101cc3660046112f9565b610619565b6040516101a89190611398565b3480156101ea57600080fd5b506101416101f93660046112c3565b61066e565b34801561020a57600080fd5b506102327f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101a8565b34801561024c57600080fd5b50610141610784565b34801561026157600080fd5b506065546102829073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a8565b3480156102b357600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e757600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610282565b34801561031257600080fd5b50610232610321366004611257565b610798565b34801561033257600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561036657600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a57600080fd5b506066546102829073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103c757600080fd5b50604051600681526020016101a8565b3480156103e357600080fd5b506103f76103f23660046113ab565b610845565b60405190151581526020016101a8565b34801561041357600080fd5b506101416104223660046112c3565b61086a565b34801561043357600080fd5b506104476104423660046113ab565b610921565b6040516101a8939291906113ed565b6104608484610845565b6104f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6104fd848484846109ab565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061053d575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b6105d1610ca1565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106286020830183611428565b61063860408401602085016112c3565b610645604085018561144e565b60405160200161065894939291906114b3565b6040516020818303038152906040529050919050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106a8575073ffffffffffffffffffffffffffffffffffffffff8116155b610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b61073c610ca1565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61078c610ca1565b6107966000610d22565b565b60006107a48585610845565b610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016104e8565b61083c85858585610d99565b95945050505050565b60008115806108615750600161085b8484610eec565b61ffff16145b90505b92915050565b610872610ca1565b73ffffffffffffffffffffffffffffffffffffffff8116610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e8565b61091e81610d22565b50565b6000806060610933600483868861151e565b61093c91611548565b60e01c925061094f60186004868861151e565b61095891611590565b60601c915061096a846018818861151e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598949750919550929350505050565b60006109ec83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3d92505050565b90506109f781610f48565b610a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c61746573742064697370617463686564000000000000000060648201526084016104e8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610ab48484610fe1565b63ffffffff1614610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016104e8565b7f8000000000000000000000000000000000000000000000000000000000000000610b7486866000611004565b10610c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a20323535000060648201526084016104e8565b600081604051602401610c1691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610c99868683611055565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610da8878761118f565b91509150600080610db98484610921565b925050915060006040518060a001604052808463ffffffff168152602001610de18a8a6111ca565b8152602001610df08a8a6111e3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201859052604090910181905290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663ddc28c5883610e7f8c8c6111f3565b6040518363ffffffff1660e01b8152600401610e9c9291906115d6565b6040805180830381865afa158015610eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edc91906116f0565b519b9a5050505050505050505050565b6000610ef981600261170c565b60ff16821015610f0b57506000610864565b82600083610f1a82600261170c565b60ff1692610f2a9392919061151e565b610f339161174c565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190611792565b1492915050565b6000610ff1602d6029848661151e565b610ffa91611548565b60e01c9392505050565b60006110126002602061170c565b60ff1683101561102357508061104e565b8360028461103282602061170c565b60ff16926110429392919061151e565b61104b916117ab565b90505b9392505050565b366000611062858561118f565b9150915060008060006110758585610921565b6040805160a08101825263ffffffff851681527f000000000000000000000000000000000000000000000000000000000000000060208201528082018b9052606081018390526000608082015290517f2637a45000000000000000000000000000000000000000000000000000000000815293965091945092509073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632637a45090349061114090859088906004016115d6565b60806040518083038185885af115801561115e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061118391906117e7565b50505050505050505050565b36600060568310156111b1576111a8600080858761151e565b915091506111c3565b6111be836056818761151e565b915091505b9250929050565b60006111da604d602d848661151e565b610861916117ab565b3660006111be83604d818761151e565b60006108616112028484611205565b90565b60006111da60296009848661151e565b60008083601f84011261122757600080fd5b50813567ffffffffffffffff81111561123f57600080fd5b6020830191508360208285010111156111c357600080fd5b6000806000806040858703121561126d57600080fd5b843567ffffffffffffffff8082111561128557600080fd5b61129188838901611215565b909650945060208701359150808211156112aa57600080fd5b506112b787828801611215565b95989497509550505050565b6000602082840312156112d557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461104e57600080fd5b60006020828403121561130b57600080fd5b813567ffffffffffffffff81111561132257600080fd5b82016060818503121561104e57600080fd5b6000815180845260005b8181101561135a5760208185018101518683018201520161133e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006108616020830184611334565b600080602083850312156113be57600080fd5b823567ffffffffffffffff8111156113d557600080fd5b6113e185828601611215565b90969095509350505050565b63ffffffff8416815273ffffffffffffffffffffffffffffffffffffffff8316602082015260606040820152600061083c6060830184611334565b60006020828403121561143a57600080fd5b813563ffffffff8116811461104e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261148357600080fd5b83018035915067ffffffffffffffff82111561149e57600080fd5b6020019150368190038213156111c357600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008560e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b16600482015281836018830137600091016018019081529392505050565b6000808585111561152e57600080fd5b8386111561153b57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115885780818660040360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156115885760149490940360031b84901b1690921692915050565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261160c60e0840182611334565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526116478282611334565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561168c57600080fd5b6040516040810181811067ffffffffffffffff821117156116d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006040828403121561170257600080fd5b610861838361167a565b60ff8181168382160190811115610864577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115885760029490940360031b84901b1690921692915050565b6000602082840312156117a457600080fd5b5051919050565b80356020831015610864577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000608082840312156117f957600080fd5b6040516060810167ffffffffffffffff8282108183111715611844577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040528451835260208501519150808216821461186157600080fd5b506020820152611874846040850161167a565b6040820152939250505056fea2646970667358221220562b845d3095f63dc860dbf5a2147c3d6ead62b5c13d421e62ab2e297e1d28ee64736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
15
+ static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162001c3838038062001c38833981016040819052620000359162000281565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001089190620002d5565b63ffffffff1660a0526200011c33620001fd565b508190506200016c5760405162461bcd60e51b8152602060048201526026602482015260008051602062001c1883398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b8152602060048201526035602482015260008051602062001c1883398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b03166101005250620002fa915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200026757600080fd5b919050565b805163ffffffff811681146200026757600080fd5b600080600080608085870312156200029857600080fd5b620002a3856200024f565b9350620002b3602086016200026c565b925060408501519150620002ca606086016200024f565b905092959194509250565b600060208284031215620002e857600080fd5b620002f3826200026c565b9392505050565b60805160a05160c05160e051610100516118b6620003626000396000818161033801528181610e4f01526111070152600081816101750152610a85015260008181610210015261108a015260006102b901526000818161036c0152610f4d01526118b66000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063de523cf311610074578063e5320bb911610059578063e5320bb9146103d7578063f2fde38b14610407578063fd95c4b91461042757600080fd5b8063de523cf31461038e578063e445e7dd146103bb57600080fd5b80638da5cb5b146102db578063aaccd23014610306578063caa8046b14610326578063d5438eae1461035a57600080fd5b80633dfd3873116100fc578063715018a6116100e1578063715018a6146102405780637f5a7c7b146102555780638d3638f4146102a757600080fd5b80633dfd3873146101de5780634deefab2146101fe57600080fd5b8063086011b91461012e5780630e72cc06146101435780632858c55a146101635780632c74fe7a146101b1575b600080fd5b61014161013c366004611257565b610456565b005b34801561014f57600080fd5b5061014161015e3660046112c3565b610503565b34801561016f57600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b3480156101bd57600080fd5b506101d16101cc3660046112f9565b610619565b6040516101a89190611398565b3480156101ea57600080fd5b506101416101f93660046112c3565b61066e565b34801561020a57600080fd5b506102327f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101a8565b34801561024c57600080fd5b50610141610784565b34801561026157600080fd5b506065546102829073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a8565b3480156102b357600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e757600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610282565b34801561031257600080fd5b50610232610321366004611257565b610798565b34801561033257600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561036657600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a57600080fd5b506066546102829073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103c757600080fd5b50604051600681526020016101a8565b3480156103e357600080fd5b506103f76103f23660046113ab565b610845565b60405190151581526020016101a8565b34801561041357600080fd5b506101416104223660046112c3565b61086a565b34801561043357600080fd5b506104476104423660046113ab565b610921565b6040516101a8939291906113ed565b6104608484610845565b6104f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6104fd848484846109ab565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061053d575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b6105d1610ca1565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106286020830183611428565b61063860408401602085016112c3565b610645604085018561144e565b60405160200161065894939291906114b3565b6040516020818303038152906040529050919050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106a8575073ffffffffffffffffffffffffffffffffffffffff8116155b610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b61073c610ca1565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61078c610ca1565b6107966000610d22565b565b60006107a48585610845565b610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016104e8565b61083c85858585610d99565b95945050505050565b60008115806108615750600161085b8484610eec565b61ffff16145b90505b92915050565b610872610ca1565b73ffffffffffffffffffffffffffffffffffffffff8116610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e8565b61091e81610d22565b50565b6000806060610933600483868861151e565b61093c91611548565b60e01c925061094f60186004868861151e565b61095891611590565b60601c915061096a846018818861151e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598949750919550929350505050565b60006109ec83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3d92505050565b90506109f781610f48565b610a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c61746573742064697370617463686564000000000000000060648201526084016104e8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610ab48484610fe1565b63ffffffff1614610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016104e8565b7f8000000000000000000000000000000000000000000000000000000000000000610b7486866000611004565b10610c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a20323535000060648201526084016104e8565b600081604051602401610c1691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610c99868683611055565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610da8878761118f565b91509150600080610db98484610921565b925050915060006040518060a001604052808463ffffffff168152602001610de18a8a6111ca565b8152602001610df08a8a6111e3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201859052604090910181905290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663ddc28c5883610e7f8c8c6111f3565b6040518363ffffffff1660e01b8152600401610e9c9291906115d6565b6040805180830381865afa158015610eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edc91906116f0565b519b9a5050505050505050505050565b6000610ef981600261170c565b60ff16821015610f0b57506000610864565b82600083610f1a82600261170c565b60ff1692610f2a9392919061151e565b610f339161174c565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190611792565b1492915050565b6000610ff1602d6029848661151e565b610ffa91611548565b60e01c9392505050565b60006110126002602061170c565b60ff1683101561102357508061104e565b8360028461103282602061170c565b60ff16926110429392919061151e565b61104b916117ab565b90505b9392505050565b366000611062858561118f565b9150915060008060006110758585610921565b6040805160a08101825263ffffffff851681527f000000000000000000000000000000000000000000000000000000000000000060208201528082018b9052606081018390526000608082015290517f2637a45000000000000000000000000000000000000000000000000000000000815293965091945092509073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632637a45090349061114090859088906004016115d6565b60806040518083038185885af115801561115e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061118391906117e7565b50505050505050505050565b36600060568310156111b1576111a8600080858761151e565b915091506111c3565b6111be836056818761151e565b915091505b9250929050565b60006111da604d602d848661151e565b610861916117ab565b3660006111be83604d818761151e565b60006108616112028484611205565b90565b60006111da60296009848661151e565b60008083601f84011261122757600080fd5b50813567ffffffffffffffff81111561123f57600080fd5b6020830191508360208285010111156111c357600080fd5b6000806000806040858703121561126d57600080fd5b843567ffffffffffffffff8082111561128557600080fd5b61129188838901611215565b909650945060208701359150808211156112aa57600080fd5b506112b787828801611215565b95989497509550505050565b6000602082840312156112d557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461104e57600080fd5b60006020828403121561130b57600080fd5b813567ffffffffffffffff81111561132257600080fd5b82016060818503121561104e57600080fd5b6000815180845260005b8181101561135a5760208185018101518683018201520161133e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006108616020830184611334565b600080602083850312156113be57600080fd5b823567ffffffffffffffff8111156113d557600080fd5b6113e185828601611215565b90969095509350505050565b63ffffffff8416815273ffffffffffffffffffffffffffffffffffffffff8316602082015260606040820152600061083c6060830184611334565b60006020828403121561143a57600080fd5b813563ffffffff8116811461104e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261148357600080fd5b83018035915067ffffffffffffffff82111561149e57600080fd5b6020019150368190038213156111c357600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008560e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b16600482015281836018830137600091016018019081529392505050565b6000808585111561152e57600080fd5b8386111561153b57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115885780818660040360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156115885760149490940360031b84901b1690921692915050565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261160c60e0840182611334565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526116478282611334565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561168c57600080fd5b6040516040810181811067ffffffffffffffff821117156116d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006040828403121561170257600080fd5b610861838361167a565b60ff8181168382160190811115610864577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115885760029490940360031b84901b1690921692915050565b6000602082840312156117a457600080fd5b5051919050565b80356020831015610864577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000608082840312156117f957600080fd5b6040516060810167ffffffffffffffff8282108183111715611844577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040528451835260208501519150808216821461186157600080fd5b506020820152611874846040850161167a565b6040820152939250505056fea264697066735822122060726fcc5b30fdc1077e4553d5e2189ce3e0dde174d1d1cc396d3a9879d7db2464736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -351,7 +351,7 @@ const _abi = [
351
351
  type: "function",
352
352
  },
353
353
  ];
354
- const _bytecode = "0x6101206040523480156200001257600080fd5b5060405162001c3838038062001c38833981016040819052620000359162000281565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001089190620002d5565b63ffffffff1660a0526200011c33620001fd565b508190506200016c5760405162461bcd60e51b8152602060048201526026602482015260008051602062001c1883398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b8152602060048201526035602482015260008051602062001c1883398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b03166101005250620002fa915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200026757600080fd5b919050565b805163ffffffff811681146200026757600080fd5b600080600080608085870312156200029857600080fd5b620002a3856200024f565b9350620002b3602086016200026c565b925060408501519150620002ca606086016200024f565b905092959194509250565b600060208284031215620002e857600080fd5b620002f3826200026c565b9392505050565b60805160a05160c05160e051610100516118b6620003626000396000818161033801528181610e4f01526111070152600081816101750152610a85015260008181610210015261108a015260006102b901526000818161036c0152610f4d01526118b66000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063de523cf311610074578063e5320bb911610059578063e5320bb9146103d7578063f2fde38b14610407578063fd95c4b91461042757600080fd5b8063de523cf31461038e578063e445e7dd146103bb57600080fd5b80638da5cb5b146102db578063aaccd23014610306578063caa8046b14610326578063d5438eae1461035a57600080fd5b80633dfd3873116100fc578063715018a6116100e1578063715018a6146102405780637f5a7c7b146102555780638d3638f4146102a757600080fd5b80633dfd3873146101de5780634deefab2146101fe57600080fd5b8063086011b91461012e5780630e72cc06146101435780632858c55a146101635780632c74fe7a146101b1575b600080fd5b61014161013c366004611257565b610456565b005b34801561014f57600080fd5b5061014161015e3660046112c3565b610503565b34801561016f57600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b3480156101bd57600080fd5b506101d16101cc3660046112f9565b610619565b6040516101a89190611398565b3480156101ea57600080fd5b506101416101f93660046112c3565b61066e565b34801561020a57600080fd5b506102327f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101a8565b34801561024c57600080fd5b50610141610784565b34801561026157600080fd5b506065546102829073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a8565b3480156102b357600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e757600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610282565b34801561031257600080fd5b50610232610321366004611257565b610798565b34801561033257600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561036657600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a57600080fd5b506066546102829073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103c757600080fd5b50604051600681526020016101a8565b3480156103e357600080fd5b506103f76103f23660046113ab565b610845565b60405190151581526020016101a8565b34801561041357600080fd5b506101416104223660046112c3565b61086a565b34801561043357600080fd5b506104476104423660046113ab565b610921565b6040516101a8939291906113ed565b6104608484610845565b6104f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6104fd848484846109ab565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061053d575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b6105d1610ca1565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106286020830183611428565b61063860408401602085016112c3565b610645604085018561144e565b60405160200161065894939291906114b3565b6040516020818303038152906040529050919050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106a8575073ffffffffffffffffffffffffffffffffffffffff8116155b610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b61073c610ca1565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61078c610ca1565b6107966000610d22565b565b60006107a48585610845565b610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016104e8565b61083c85858585610d99565b95945050505050565b60008115806108615750600161085b8484610eec565b61ffff16145b90505b92915050565b610872610ca1565b73ffffffffffffffffffffffffffffffffffffffff8116610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e8565b61091e81610d22565b50565b6000806060610933600483868861151e565b61093c91611548565b60e01c925061094f60186004868861151e565b61095891611590565b60601c915061096a846018818861151e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598949750919550929350505050565b60006109ec83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3d92505050565b90506109f781610f48565b610a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c61746573742064697370617463686564000000000000000060648201526084016104e8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610ab48484610fe1565b63ffffffff1614610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016104e8565b7f8000000000000000000000000000000000000000000000000000000000000000610b7486866000611004565b10610c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a20323535000060648201526084016104e8565b600081604051602401610c1691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610c99868683611055565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610da8878761118f565b91509150600080610db98484610921565b925050915060006040518060a001604052808463ffffffff168152602001610de18a8a6111ca565b8152602001610df08a8a6111e3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201859052604090910181905290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663ddc28c5883610e7f8c8c6111f3565b6040518363ffffffff1660e01b8152600401610e9c9291906115d6565b6040805180830381865afa158015610eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edc91906116f0565b519b9a5050505050505050505050565b6000610ef981600261170c565b60ff16821015610f0b57506000610864565b82600083610f1a82600261170c565b60ff1692610f2a9392919061151e565b610f339161174c565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190611792565b1492915050565b6000610ff1602d6029848661151e565b610ffa91611548565b60e01c9392505050565b60006110126002602061170c565b60ff1683101561102357508061104e565b8360028461103282602061170c565b60ff16926110429392919061151e565b61104b916117ab565b90505b9392505050565b366000611062858561118f565b9150915060008060006110758585610921565b6040805160a08101825263ffffffff851681527f000000000000000000000000000000000000000000000000000000000000000060208201528082018b9052606081018390526000608082015290517f2637a45000000000000000000000000000000000000000000000000000000000815293965091945092509073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632637a45090349061114090859088906004016115d6565b60806040518083038185885af115801561115e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061118391906117e7565b50505050505050505050565b36600060568310156111b1576111a8600080858761151e565b915091506111c3565b6111be836056818761151e565b915091505b9250929050565b60006111da604d602d848661151e565b610861916117ab565b3660006111be83604d818761151e565b60006108616112028484611205565b90565b60006111da60296009848661151e565b60008083601f84011261122757600080fd5b50813567ffffffffffffffff81111561123f57600080fd5b6020830191508360208285010111156111c357600080fd5b6000806000806040858703121561126d57600080fd5b843567ffffffffffffffff8082111561128557600080fd5b61129188838901611215565b909650945060208701359150808211156112aa57600080fd5b506112b787828801611215565b95989497509550505050565b6000602082840312156112d557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461104e57600080fd5b60006020828403121561130b57600080fd5b813567ffffffffffffffff81111561132257600080fd5b82016060818503121561104e57600080fd5b6000815180845260005b8181101561135a5760208185018101518683018201520161133e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006108616020830184611334565b600080602083850312156113be57600080fd5b823567ffffffffffffffff8111156113d557600080fd5b6113e185828601611215565b90969095509350505050565b63ffffffff8416815273ffffffffffffffffffffffffffffffffffffffff8316602082015260606040820152600061083c6060830184611334565b60006020828403121561143a57600080fd5b813563ffffffff8116811461104e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261148357600080fd5b83018035915067ffffffffffffffff82111561149e57600080fd5b6020019150368190038213156111c357600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008560e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b16600482015281836018830137600091016018019081529392505050565b6000808585111561152e57600080fd5b8386111561153b57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115885780818660040360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156115885760149490940360031b84901b1690921692915050565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261160c60e0840182611334565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526116478282611334565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561168c57600080fd5b6040516040810181811067ffffffffffffffff821117156116d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006040828403121561170257600080fd5b610861838361167a565b60ff8181168382160190811115610864577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115885760029490940360031b84901b1690921692915050565b6000602082840312156117a457600080fd5b5051919050565b80356020831015610864577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000608082840312156117f957600080fd5b6040516060810167ffffffffffffffff8282108183111715611844577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040528451835260208501519150808216821461186157600080fd5b506020820152611874846040850161167a565b6040820152939250505056fea2646970667358221220562b845d3095f63dc860dbf5a2147c3d6ead62b5c13d421e62ab2e297e1d28ee64736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
354
+ const _bytecode = "0x6101206040523480156200001257600080fd5b5060405162001c3838038062001c38833981016040819052620000359162000281565b83838382806001600160a01b0381163b620000975760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001089190620002d5565b63ffffffff1660a0526200011c33620001fd565b508190506200016c5760405162461bcd60e51b8152602060048201526026602482015260008051602062001c1883398151915260448201526569642049534d60d01b60648201526084016200008e565b8163ffffffff16600003620001d95760405162461bcd60e51b8152602060048201526035602482015260008051602062001c1883398151915260448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016200008e565b60c05263ffffffff1660e052506001600160a01b03166101005250620002fa915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200026757600080fd5b919050565b805163ffffffff811681146200026757600080fd5b600080600080608085870312156200029857600080fd5b620002a3856200024f565b9350620002b3602086016200026c565b925060408501519150620002ca606086016200024f565b905092959194509250565b600060208284031215620002e857600080fd5b620002f3826200026c565b9392505050565b60805160a05160c05160e051610100516118b6620003626000396000818161033801528181610e4f01526111070152600081816101750152610a85015260008181610210015261108a015260006102b901526000818161036c0152610f4d01526118b66000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063de523cf311610074578063e5320bb911610059578063e5320bb9146103d7578063f2fde38b14610407578063fd95c4b91461042757600080fd5b8063de523cf31461038e578063e445e7dd146103bb57600080fd5b80638da5cb5b146102db578063aaccd23014610306578063caa8046b14610326578063d5438eae1461035a57600080fd5b80633dfd3873116100fc578063715018a6116100e1578063715018a6146102405780637f5a7c7b146102555780638d3638f4146102a757600080fd5b80633dfd3873146101de5780634deefab2146101fe57600080fd5b8063086011b91461012e5780630e72cc06146101435780632858c55a146101635780632c74fe7a146101b1575b600080fd5b61014161013c366004611257565b610456565b005b34801561014f57600080fd5b5061014161015e3660046112c3565b610503565b34801561016f57600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b3480156101bd57600080fd5b506101d16101cc3660046112f9565b610619565b6040516101a89190611398565b3480156101ea57600080fd5b506101416101f93660046112c3565b61066e565b34801561020a57600080fd5b506102327f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101a8565b34801561024c57600080fd5b50610141610784565b34801561026157600080fd5b506065546102829073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a8565b3480156102b357600080fd5b506101977f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e757600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610282565b34801561031257600080fd5b50610232610321366004611257565b610798565b34801561033257600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561036657600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a57600080fd5b506066546102829073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103c757600080fd5b50604051600681526020016101a8565b3480156103e357600080fd5b506103f76103f23660046113ab565b610845565b60405190151581526020016101a8565b34801561041357600080fd5b506101416104223660046112c3565b61086a565b34801561043357600080fd5b506104476104423660046113ab565b610921565b6040516101a8939291906113ed565b6104608484610845565b6104f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6104fd848484846109ab565b50505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061053d575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b6105d1610ca1565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106286020830183611428565b61063860408401602085016112c3565b610645604085018561144e565b60405160200161065894939291906114b3565b6040516020818303038152906040529050919050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106a8575073ffffffffffffffffffffffffffffffffffffffff8116155b610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016104e8565b61073c610ca1565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61078c610ca1565b6107966000610d22565b565b60006107a48585610845565b610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016104e8565b61083c85858585610d99565b95945050505050565b60008115806108615750600161085b8484610eec565b61ffff16145b90505b92915050565b610872610ca1565b73ffffffffffffffffffffffffffffffffffffffff8116610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e8565b61091e81610d22565b50565b6000806060610933600483868861151e565b61093c91611548565b60e01c925061094f60186004868861151e565b61095891611590565b60601c915061096a846018818861151e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598949750919550929350505050565b60006109ec83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f3d92505050565b90506109f781610f48565b610a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f41627374726163744d657373616765496441757468486f6f6b3a206d6573736160448201527f6765206e6f74206c61746573742064697370617463686564000000000000000060648201526084016104e8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610ab48484610fe1565b63ffffffff1614610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f41627374726163744d657373616765496441757468486f6f6b3a20696e76616c60448201527f69642064657374696e6174696f6e20646f6d61696e000000000000000000000060648201526084016104e8565b7f8000000000000000000000000000000000000000000000000000000000000000610b7486866000611004565b10610c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f41627374726163744d657373616765496441757468486f6f6b3a206d7367566160448201527f6c7565206d757374206265206c657373207468616e2032202a2a20323535000060648201526084016104e8565b600081604051602401610c1691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff6a1b606000000000000000000000000000000000000000000000000000000001790529050610c99868683611055565b505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000366000610da8878761118f565b91509150600080610db98484610921565b925050915060006040518060a001604052808463ffffffff168152602001610de18a8a6111ca565b8152602001610df08a8a6111e3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201859052604090910181905290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663ddc28c5883610e7f8c8c6111f3565b6040518363ffffffff1660e01b8152600401610e9c9291906115d6565b6040805180830381865afa158015610eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edc91906116f0565b519b9a5050505050505050505050565b6000610ef981600261170c565b60ff16821015610f0b57506000610864565b82600083610f1a82600261170c565b60ff1692610f2a9392919061151e565b610f339161174c565b60f01c9392505050565b805160209091012090565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663134fbb4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190611792565b1492915050565b6000610ff1602d6029848661151e565b610ffa91611548565b60e01c9392505050565b60006110126002602061170c565b60ff1683101561102357508061104e565b8360028461103282602061170c565b60ff16926110429392919061151e565b61104b916117ab565b90505b9392505050565b366000611062858561118f565b9150915060008060006110758585610921565b6040805160a08101825263ffffffff851681527f000000000000000000000000000000000000000000000000000000000000000060208201528082018b9052606081018390526000608082015290517f2637a45000000000000000000000000000000000000000000000000000000000815293965091945092509073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632637a45090349061114090859088906004016115d6565b60806040518083038185885af115801561115e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061118391906117e7565b50505050505050505050565b36600060568310156111b1576111a8600080858761151e565b915091506111c3565b6111be836056818761151e565b915091505b9250929050565b60006111da604d602d848661151e565b610861916117ab565b3660006111be83604d818761151e565b60006108616112028484611205565b90565b60006111da60296009848661151e565b60008083601f84011261122757600080fd5b50813567ffffffffffffffff81111561123f57600080fd5b6020830191508360208285010111156111c357600080fd5b6000806000806040858703121561126d57600080fd5b843567ffffffffffffffff8082111561128557600080fd5b61129188838901611215565b909650945060208701359150808211156112aa57600080fd5b506112b787828801611215565b95989497509550505050565b6000602082840312156112d557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461104e57600080fd5b60006020828403121561130b57600080fd5b813567ffffffffffffffff81111561132257600080fd5b82016060818503121561104e57600080fd5b6000815180845260005b8181101561135a5760208185018101518683018201520161133e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006108616020830184611334565b600080602083850312156113be57600080fd5b823567ffffffffffffffff8111156113d557600080fd5b6113e185828601611215565b90969095509350505050565b63ffffffff8416815273ffffffffffffffffffffffffffffffffffffffff8316602082015260606040820152600061083c6060830184611334565b60006020828403121561143a57600080fd5b813563ffffffff8116811461104e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261148357600080fd5b83018035915067ffffffffffffffff82111561149e57600080fd5b6020019150368190038213156111c357600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008560e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b16600482015281836018830137600091016018019081529392505050565b6000808585111561152e57600080fd5b8386111561153b57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115885780818660040360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156115885760149490940360031b84901b1690921692915050565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261160c60e0840182611334565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526116478282611334565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561168c57600080fd5b6040516040810181811067ffffffffffffffff821117156116d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006040828403121561170257600080fd5b610861838361167a565b60ff8181168382160190811115610864577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156115885760029490940360031b84901b1690921692915050565b6000602082840312156117a457600080fd5b5051919050565b80356020831015610864577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000608082840312156117f957600080fd5b6040516060810167ffffffffffffffff8282108183111715611844577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040528451835260208501519150808216821461186157600080fd5b506020820152611874846040850161167a565b6040820152939250505056fea264697066735822122060726fcc5b30fdc1077e4553d5e2189ce3e0dde174d1d1cc396d3a9879d7db2464736f6c6343000813003341627374726163744d657373616765496441757468486f6f6b3a20696e76616c";
355
355
  const isSuperArgs = (xs) => xs.length > 1;
356
356
  export class LayerZeroV2Hook__factory extends ContractFactory {
357
357
  constructor(...args) {