@hyperlane-xyz/core 1.2.3 → 1.3.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.
- package/contracts/HyperlaneConnectionClient.sol +5 -4
- package/contracts/Mailbox.sol +3 -41
- package/contracts/OwnableMulticall.sol +11 -11
- package/contracts/Router.sol +4 -4
- package/contracts/ValidatorAnnounce.sol +2 -2
- package/contracts/igps/InterchainGasPaymaster.sol +2 -2
- package/contracts/igps/OverheadIgp.sol +1 -1
- package/contracts/igps/gas-oracles/StorageGasOracle.sol +1 -1
- package/contracts/interfaces/IAggregationIsm.sol +19 -0
- package/contracts/interfaces/IHyperlaneConnectionClient.sol +20 -0
- package/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol +8 -0
- package/contracts/interfaces/IMailbox.sol +71 -0
- package/contracts/interfaces/IRouter.sol +15 -0
- package/{interfaces → contracts/interfaces/isms}/IMultisigIsm.sol +1 -1
- package/contracts/interfaces/middleware/IInterchainAccountRouter.sol +50 -0
- package/contracts/interfaces/middleware/IInterchainQueryRouter.sol +18 -0
- package/contracts/isms/aggregation/AbstractAggregationIsm.sol +72 -0
- package/contracts/isms/aggregation/StaticAggregationIsm.sol +33 -0
- package/contracts/isms/aggregation/StaticAggregationIsmFactory.sol +16 -0
- package/contracts/isms/multisig/AbstractMultisigIsm.sol +124 -0
- package/contracts/isms/{MultisigIsm.sol → multisig/LegacyMultisigIsm.sol} +19 -60
- package/contracts/isms/multisig/StaticMultisigIsm.sol +33 -0
- package/contracts/isms/multisig/StaticMultisigIsmFactory.sol +16 -0
- package/contracts/libs/Call.sol +12 -10
- package/contracts/libs/CheckpointLib.sol +54 -0
- package/contracts/libs/MetaProxy.sol +40 -0
- package/contracts/libs/StaticMOfNAddressSetFactory.sol +98 -0
- package/contracts/libs/TypeCasts.sol +0 -20
- package/contracts/libs/isms/AggregationIsmMetadata.sol +72 -0
- package/contracts/libs/{MultisigIsmMetadata.sol → isms/LegacyMultisigIsmMetadata.sol} +1 -1
- package/contracts/libs/isms/MultisigIsmMetadata.sol +91 -0
- package/contracts/libs/middleware/InterchainAccountMessage.sol +86 -0
- package/contracts/libs/middleware/InterchainQueryMessage.sol +125 -0
- package/contracts/middleware/InterchainAccountRouter.sol +448 -94
- package/contracts/middleware/InterchainQueryRouter.sol +50 -27
- package/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol +2 -2
- package/contracts/mock/MockMailbox.sol +1 -1
- package/contracts/test/TestHyperlaneConnectionClient.sol +5 -1
- package/contracts/test/TestIsm.sol +1 -1
- package/contracts/test/TestLegacyMultisigIsm.sol +16 -0
- package/contracts/test/TestLiquidityLayerMessageRecipient.sol +1 -1
- package/contracts/test/TestMailbox.sol +1 -1
- package/contracts/test/TestQuerySender.sol +2 -2
- package/contracts/test/TestRecipient.sol +9 -6
- package/contracts/test/TestSendReceiver.sol +3 -3
- package/contracts/test/TestTokenRecipient.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient1.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient3.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient5.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient6.sol +1 -1
- package/dist/contracts/GasRouter.d.ts +2 -2
- package/dist/contracts/GasRouter.d.ts.map +1 -1
- package/dist/contracts/OwnableMulticall.d.ts +16 -94
- package/dist/contracts/OwnableMulticall.d.ts.map +1 -1
- package/dist/contracts/Router.d.ts +2 -2
- package/dist/contracts/Router.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +4 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/interfaces/IAggregationIsm.d.ts +76 -0
- package/dist/contracts/interfaces/IAggregationIsm.d.ts.map +1 -0
- package/dist/contracts/{test/TestMultisigIsm.js → interfaces/IAggregationIsm.js} +1 -1
- package/dist/contracts/interfaces/IAggregationIsm.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IGasOracle.d.ts +1 -1
- package/dist/contracts/interfaces/IGasOracle.d.ts.map +1 -0
- package/dist/contracts/interfaces/IGasOracle.js.map +1 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.d.ts +107 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.d.ts.map +1 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.js +4 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IInterchainGasPaymaster.d.ts +1 -1
- package/dist/contracts/interfaces/IInterchainGasPaymaster.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainGasPaymaster.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts +1 -1
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts +1 -1
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/ILiquidityLayerMessageRecipient.d.ts +1 -1
- package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +1 -0
- package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/ILiquidityLayerRouter.d.ts +1 -1
- package/dist/contracts/interfaces/ILiquidityLayerRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/ILiquidityLayerRouter.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IMailbox.d.ts +73 -5
- package/dist/contracts/interfaces/IMailbox.d.ts.map +1 -0
- package/dist/contracts/interfaces/IMailbox.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IMessageRecipient.d.ts +1 -1
- package/dist/contracts/interfaces/IMessageRecipient.d.ts.map +1 -0
- package/dist/contracts/interfaces/IMessageRecipient.js.map +1 -0
- package/dist/contracts/interfaces/IRouter.d.ts +83 -0
- package/dist/contracts/interfaces/IRouter.d.ts.map +1 -0
- package/dist/contracts/{isms/MultisigIsm.js → interfaces/IRouter.js} +1 -1
- package/dist/contracts/interfaces/IRouter.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/IValidatorAnnounce.d.ts +1 -1
- package/dist/contracts/interfaces/IValidatorAnnounce.d.ts.map +1 -0
- package/dist/contracts/interfaces/IValidatorAnnounce.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces}/index.d.ts +7 -3
- package/dist/contracts/interfaces/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/index.js.map +1 -0
- package/dist/{interfaces → contracts/interfaces/isms}/IMultisigIsm.d.ts +1 -1
- package/dist/contracts/interfaces/isms/IMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/interfaces/isms/IMultisigIsm.js.map +1 -0
- package/dist/contracts/interfaces/isms/index.d.ts +2 -0
- package/dist/contracts/interfaces/isms/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/isms/index.js +3 -0
- package/dist/contracts/interfaces/isms/index.js.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.d.ts +127 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.js.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.d.ts +88 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.js.map +1 -0
- package/dist/contracts/interfaces/middleware/index.d.ts +3 -0
- package/dist/contracts/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/middleware/index.js +3 -0
- package/dist/contracts/interfaces/middleware/index.js.map +1 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.d.ts +67 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.js +4 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.js.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.d.ts +67 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.js +4 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.js.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.d.ts +59 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.js +4 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.js.map +1 -0
- package/dist/contracts/isms/aggregation/index.d.ts +4 -0
- package/dist/contracts/isms/aggregation/index.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/index.js +3 -0
- package/dist/contracts/isms/aggregation/index.js.map +1 -0
- package/dist/contracts/isms/index.d.ts +4 -1
- package/dist/contracts/isms/index.d.ts.map +1 -1
- package/dist/contracts/isms/index.js +1 -0
- package/dist/contracts/isms/index.js.map +1 -1
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.d.ts +59 -0
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.js +4 -0
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.js.map +1 -0
- package/dist/contracts/isms/{MultisigIsm.d.ts → multisig/LegacyMultisigIsm.d.ts} +5 -5
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.js +4 -0
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.js.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.d.ts +59 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.js +4 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.js.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.d.ts +59 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.js +4 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.js.map +1 -0
- package/dist/contracts/isms/multisig/index.d.ts +5 -0
- package/dist/contracts/isms/multisig/index.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/index.js +3 -0
- package/dist/contracts/isms/multisig/index.js.map +1 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.d.ts +59 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.d.ts.map +1 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.js +4 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.js.map +1 -0
- package/dist/contracts/libs/index.d.ts +2 -0
- package/dist/contracts/libs/index.d.ts.map +1 -0
- package/dist/contracts/libs/index.js +3 -0
- package/dist/contracts/libs/index.js.map +1 -0
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts +170 -72
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts +32 -16
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +2 -2
- package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +2 -2
- package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts +2 -2
- package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts.map +1 -1
- package/dist/contracts/test/LightTestRecipient.d.ts +54 -1
- package/dist/contracts/test/LightTestRecipient.d.ts.map +1 -1
- package/dist/contracts/test/TestGasRouter.d.ts +2 -2
- package/dist/contracts/test/TestGasRouter.d.ts.map +1 -1
- package/dist/contracts/test/{TestMultisigIsm.d.ts → TestLegacyMultisigIsm.d.ts} +5 -13
- package/dist/contracts/test/TestLegacyMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/test/TestLegacyMultisigIsm.js +4 -0
- package/dist/contracts/test/TestLegacyMultisigIsm.js.map +1 -0
- package/dist/contracts/test/TestRecipient.d.ts +54 -1
- package/dist/contracts/test/TestRecipient.d.ts.map +1 -1
- package/dist/contracts/test/TestRouter.d.ts +2 -2
- package/dist/contracts/test/TestRouter.d.ts.map +1 -1
- package/dist/contracts/test/index.d.ts +1 -1
- package/dist/contracts/test/index.d.ts.map +1 -1
- package/dist/factories/contracts/GasRouter__factory.js +1 -1
- package/dist/factories/contracts/GasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/Mailbox__factory.js +1 -1
- package/dist/factories/contracts/OwnableMulticall__factory.d.ts +10 -43
- package/dist/factories/contracts/OwnableMulticall__factory.d.ts.map +1 -1
- package/dist/factories/contracts/OwnableMulticall__factory.js +20 -80
- package/dist/factories/contracts/OwnableMulticall__factory.js.map +1 -1
- package/dist/factories/contracts/Router__factory.js +1 -1
- package/dist/factories/contracts/Router__factory.js.map +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.js +1 -1
- package/dist/factories/contracts/igps/OverheadIgp__factory.d.ts +1 -1
- package/dist/factories/contracts/igps/OverheadIgp__factory.js +1 -1
- package/dist/factories/contracts/igps/gas-oracles/StorageGasOracle__factory.d.ts +1 -1
- package/dist/factories/contracts/igps/gas-oracles/StorageGasOracle__factory.js +1 -1
- package/dist/factories/contracts/index.d.ts +2 -0
- package/dist/factories/contracts/index.d.ts.map +1 -1
- package/dist/factories/contracts/index.js +3 -1
- package/dist/factories/contracts/index.js.map +1 -1
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.js +79 -0
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IGasOracle__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/IGasOracle__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IGasOracle__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.d.ts +29 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.js +96 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IInterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainGasPaymaster__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/ILiquidityLayerMessageRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/ILiquidityLayerRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.d.ts +36 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.d.ts.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IMailbox__factory.js +114 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IMessageRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/IMessageRecipient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IMessageRecipient__factory.js.map +1 -0
- package/dist/factories/{interfaces/IMailbox__factory.d.ts → contracts/interfaces/IRouter__factory.d.ts} +5 -5
- package/dist/factories/contracts/interfaces/IRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IRouter__factory.js +86 -0
- package/dist/factories/contracts/interfaces/IRouter__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/IValidatorAnnounce__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/IValidatorAnnounce__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IValidatorAnnounce__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/index.d.ts +5 -3
- package/dist/factories/contracts/interfaces/index.d.ts.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces}/index.js +9 -7
- package/dist/factories/contracts/interfaces/index.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces/isms}/IMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/isms/IMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/isms/IMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/isms/index.d.ts +2 -0
- package/dist/factories/contracts/interfaces/isms/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/isms/index.js +9 -0
- package/dist/factories/contracts/interfaces/isms/index.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces/middleware}/IInterchainAccountRouter__factory.d.ts +3 -13
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.js +265 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.js.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces/middleware}/IInterchainQueryRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/interfaces/middleware/IInterchainQueryRouter__factory.d.ts.map +1 -0
- package/dist/factories/{interfaces → contracts/interfaces/middleware}/IInterchainQueryRouter__factory.js +35 -1
- package/dist/factories/contracts/interfaces/middleware/IInterchainQueryRouter__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/index.d.ts +3 -0
- package/dist/factories/contracts/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/index.js +11 -0
- package/dist/factories/contracts/interfaces/middleware/index.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.js +79 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +89 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +102 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/index.d.ts +4 -0
- package/dist/factories/contracts/isms/aggregation/index.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/index.js +13 -0
- package/dist/factories/contracts/isms/aggregation/index.js.map +1 -0
- package/dist/factories/contracts/isms/index.d.ts +2 -1
- package/dist/factories/contracts/isms/index.d.ts.map +1 -1
- package/dist/factories/contracts/isms/index.js +26 -3
- package/dist/factories/contracts/isms/index.js.map +1 -1
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.js +79 -0
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +55 -0
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/{MultisigIsm__factory.js → multisig/LegacyMultisigIsm__factory.js} +7 -7
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.js +89 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.js +102 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/index.d.ts +5 -0
- package/dist/factories/contracts/isms/multisig/index.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/index.js +15 -0
- package/dist/factories/contracts/isms/multisig/index.js.map +1 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.d.ts +23 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.d.ts.map +1 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.js +66 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.js.map +1 -0
- package/dist/factories/contracts/libs/index.d.ts +2 -0
- package/dist/factories/contracts/libs/index.d.ts.map +1 -0
- package/dist/factories/contracts/libs/index.js +9 -0
- package/dist/factories/contracts/libs/index.js.map +1 -0
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +11 -17
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +319 -39
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +39 -5
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +2 -2
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +2 -2
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +2 -2
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
- package/dist/factories/contracts/mock/MockPortalBridge__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockPortalBridge__factory.js +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.js +53 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js +2 -2
- package/dist/factories/contracts/test/TestGasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +9 -2
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +6 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
- package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +48 -0
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +456 -0
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.js +53 -1
- package/dist/factories/contracts/test/TestRecipient__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.js +2 -2
- package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
- package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestTokenRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient1__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient1__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient3__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient3__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient5__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient5__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient6__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient6__factory.js +1 -1
- package/dist/factories/contracts/test/index.d.ts +1 -1
- package/dist/factories/contracts/test/index.d.ts.map +1 -1
- package/dist/factories/contracts/test/index.js +3 -3
- package/dist/factories/contracts/test/index.js.map +1 -1
- package/dist/factories/index.d.ts +0 -1
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +1 -2
- package/dist/factories/index.js.map +1 -1
- package/dist/index.d.ts +48 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -30
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/contracts/middleware/InterchainCallMessage.sol +0 -112
- package/contracts/test/TestMultisigIsm.sol +0 -23
- package/dist/contracts/isms/MultisigIsm.d.ts.map +0 -1
- package/dist/contracts/isms/MultisigIsm.js.map +0 -1
- package/dist/contracts/test/TestMultisigIsm.d.ts.map +0 -1
- package/dist/contracts/test/TestMultisigIsm.js.map +0 -1
- package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts +0 -55
- package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts.map +0 -1
- package/dist/factories/contracts/isms/MultisigIsm__factory.js.map +0 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +0 -48
- package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts.map +0 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.js +0 -480
- package/dist/factories/contracts/test/TestMultisigIsm__factory.js.map +0 -1
- package/dist/factories/interfaces/IGasOracle__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IGasOracle__factory.js.map +0 -1
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +0 -114
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.js.map +0 -1
- package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js.map +0 -1
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.js.map +0 -1
- package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js.map +0 -1
- package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js.map +0 -1
- package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +0 -1
- package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.js.map +0 -1
- package/dist/factories/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +0 -1
- package/dist/factories/interfaces/ILiquidityLayerRouter__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/ILiquidityLayerRouter__factory.js.map +0 -1
- package/dist/factories/interfaces/IMailbox__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IMailbox__factory.js.map +0 -1
- package/dist/factories/interfaces/IMessageRecipient__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IMessageRecipient__factory.js.map +0 -1
- package/dist/factories/interfaces/IMultisigIsm__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IMultisigIsm__factory.js.map +0 -1
- package/dist/factories/interfaces/IValidatorAnnounce__factory.d.ts.map +0 -1
- package/dist/factories/interfaces/IValidatorAnnounce__factory.js.map +0 -1
- package/dist/factories/interfaces/index.d.ts.map +0 -1
- package/dist/factories/interfaces/index.js.map +0 -1
- package/dist/interfaces/IGasOracle.d.ts.map +0 -1
- package/dist/interfaces/IGasOracle.js.map +0 -1
- package/dist/interfaces/IInterchainAccountRouter.d.ts +0 -85
- package/dist/interfaces/IInterchainAccountRouter.d.ts.map +0 -1
- package/dist/interfaces/IInterchainAccountRouter.js.map +0 -1
- package/dist/interfaces/IInterchainGasPaymaster.d.ts.map +0 -1
- package/dist/interfaces/IInterchainGasPaymaster.js.map +0 -1
- package/dist/interfaces/IInterchainQueryRouter.d.ts +0 -72
- package/dist/interfaces/IInterchainQueryRouter.d.ts.map +0 -1
- package/dist/interfaces/IInterchainQueryRouter.js.map +0 -1
- package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts.map +0 -1
- package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js.map +0 -1
- package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts.map +0 -1
- package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js.map +0 -1
- package/dist/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +0 -1
- package/dist/interfaces/IInterchainSecurityModule.sol/index.js.map +0 -1
- package/dist/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +0 -1
- package/dist/interfaces/ILiquidityLayerMessageRecipient.js.map +0 -1
- package/dist/interfaces/ILiquidityLayerRouter.d.ts.map +0 -1
- package/dist/interfaces/ILiquidityLayerRouter.js.map +0 -1
- package/dist/interfaces/IMailbox.d.ts.map +0 -1
- package/dist/interfaces/IMailbox.js.map +0 -1
- package/dist/interfaces/IMessageRecipient.d.ts.map +0 -1
- package/dist/interfaces/IMessageRecipient.js.map +0 -1
- package/dist/interfaces/IMultisigIsm.d.ts.map +0 -1
- package/dist/interfaces/IMultisigIsm.js.map +0 -1
- package/dist/interfaces/IValidatorAnnounce.d.ts.map +0 -1
- package/dist/interfaces/IValidatorAnnounce.js.map +0 -1
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js.map +0 -1
- package/interfaces/IInterchainAccountRouter.sol +0 -20
- package/interfaces/IInterchainQueryRouter.sol +0 -11
- package/interfaces/IMailbox.sol +0 -28
- /package/{interfaces → contracts/interfaces}/IGasOracle.sol +0 -0
- /package/{interfaces → contracts/interfaces}/IInterchainGasPaymaster.sol +0 -0
- /package/{interfaces → contracts/interfaces}/ILiquidityLayerMessageRecipient.sol +0 -0
- /package/{interfaces → contracts/interfaces}/ILiquidityLayerRouter.sol +0 -0
- /package/{interfaces → contracts/interfaces}/IMessageRecipient.sol +0 -0
- /package/{interfaces → contracts/interfaces}/IValidatorAnnounce.sol +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IGasOracle.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IInterchainGasPaymaster.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/IInterchainSecurityModule.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/index.d.ts +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/index.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/ILiquidityLayerMessageRecipient.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/ILiquidityLayerRouter.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IMailbox.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IMessageRecipient.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/IValidatorAnnounce.js +0 -0
- /package/dist/{interfaces → contracts/interfaces}/index.js +0 -0
- /package/dist/{interfaces → contracts/interfaces/isms}/IMultisigIsm.js +0 -0
- /package/dist/{interfaces → contracts/interfaces/middleware}/IInterchainAccountRouter.js +0 -0
- /package/dist/{interfaces → contracts/interfaces/middleware}/IInterchainQueryRouter.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IGasOracle__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IInterchainGasPaymaster__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/index.d.ts +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol/index.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/ILiquidityLayerMessageRecipient__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/ILiquidityLayerRouter__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IMessageRecipient__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces}/IValidatorAnnounce__factory.js +0 -0
- /package/dist/factories/{interfaces → contracts/interfaces/isms}/IMultisigIsm__factory.js +0 -0
|
@@ -12,7 +12,7 @@ export declare class MockHyperlaneEnvironment__factory extends ContractFactory {
|
|
|
12
12
|
}): TransactionRequest;
|
|
13
13
|
attach(address: string): MockHyperlaneEnvironment;
|
|
14
14
|
connect(signer: Signer): MockHyperlaneEnvironment__factory;
|
|
15
|
-
static readonly bytecode = "0x608060405234801561001057600080fd5b506040516200516038038062005160833981016040819052610031916106ab565b6000805463ffffffff838116640100000000026001600160401b03199092169085161717815560405183906100659061065a565b63ffffffff9091168152602001604051809103906000f08015801561008e573d6000803e3d6000fd5b5090506000826040516100a09061065a565b63ffffffff9091168152602001604051809103906000f0801580156100c9573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011d57600080fd5b505af1158015610131573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b50505050306040516101a990610668565b6001600160a01b039091168152602001604051809103906000f0801580156101d5573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b03939093169290921790915551309061021890610668565b6001600160a01b039091168152602001604051809103906000f080158015610244573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161028d90610676565b604051809103906000f0801580156102a9573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102ea90610676565b604051809103906000f080158015610306573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161037f90610684565b604051809103906000f08015801561039b573d6000803e3d6000fd5b50905060006040516103ac90610684565b604051809103906000f0801580156103c8573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876105218561064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561056557600080fd5b505af1158015610579573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a7886105a08661064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106de915050565b6001600160a01b031690565b610eb18062000a0883390190565b61138a80620018b983390190565b61021e8062002c4383390190565b6122ff8062002e6183390190565b805163ffffffff811681146106a657600080fd5b919050565b600080604083850312156106be57600080fd5b6106c783610692565b91506106d560208401610692565b90509250929050565b61031a80620006ee6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea2646970667358221220a9db06465da49075944322c34757859a962cd22dab299c1964e247a8a66e342964736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610eb1380380610eb18339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610e096100a8600039600061026801526000818161017601526107d30152610e096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610247578063fd10ebe51461025a578063ffa1ad741461026357600080fd5b806392d28b3d146101c0578063a3b4919f146101e3578063d12164e41461023e57600080fd5b80638209d312116100b25780638209d312146101685780638d3638f414610171578063924324aa146101ad57600080fd5b80631605c306146100d9578063522ae002146100e357806359b3f6e0146100ff575b600080fd5b6100e161028a565b005b6100ec61080081565b6040519081526020015b60405180910390f35b6100e161010d366004610894565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6100ec60015481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f6565b6100e16101bb366004610914565b61044e565b6101d36101ce36600461098e565b6105ad565b6040516100f69493929190610a0b565b6102196101f1366004610a5a565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f6565b6100ec60025481565b6100ec610255366004610a7c565b610683565b6100ec60005481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169482019490945260018201549093169183019190915292830180549293919260608401919061030090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461032c90610ad6565b80156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103e0846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b815260040161040393929190610b29565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b50506002805492509050600061044683610b57565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061058e9082610c34565b505060018054915060006105a183610b57565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff90811694931692919061060090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610ad6565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905084565b60006108008211156106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e67000000000000000000000000000000000000000060448201526064015b60405180910390fd5b63ffffffff851660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064016106ed565b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610803907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610d4e565b600060405180830381600087803b15801561081d57600080fd5b505af1158015610831573d6000803e3d6000fd5b505060008054925090508061084583610b57565b909155506000979650505050505050565b803563ffffffff8116811461086a57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b50565b600080604083850312156108a757600080fd5b6108b083610856565b915060208301356108c08161086f565b809150509250929050565b60008083601f8401126108dd57600080fd5b50813567ffffffffffffffff8111156108f557600080fd5b60208301915083602082850101111561090d57600080fd5b9250929050565b60008060008060006080868803121561092c57600080fd5b61093586610856565b945060208601356109458161086f565b935060408601356109558161086f565b9250606086013567ffffffffffffffff81111561097157600080fd5b61097d888289016108cb565b969995985093965092949392505050565b6000602082840312156109a057600080fd5b5035919050565b6000815180845260005b818110156109cd576020818501810151868301820152016109b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610a5060808301846109a7565b9695505050505050565b600060208284031215610a6c57600080fd5b610a7582610856565b9392505050565b60008060008060608587031215610a9257600080fd5b610a9b85610856565b935060208501359250604085013567ffffffffffffffff811115610abe57600080fd5b610aca878288016108cb565b95989497509550505050565b600181811c90821680610aea57607f821691505b602082108103610b23577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610b4e60608301846109a7565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610baf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610c2f57600081815260208120601f850160051c81016020861015610c0c5750805b601f850160051c820191505b81811015610c2b57828155600101610c18565b5050505b505050565b815167ffffffffffffffff811115610c4e57610c4e610bb6565b610c6281610c5c8454610ad6565b84610be5565b602080601f831160018114610cb55760008415610c7f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610c2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610d0257888601518255948401946001909101908401610ce3565b5085821015610d3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea264697066735822122064e2ab6d41d9ca4bedffeb54c82b828f31f63f77cacd000dd06daf868802e51464736f6c6343000811003360806040523480156200001157600080fd5b506040516200138a3803806200138a833981016040819052620000349162000317565b8062000041338262000049565b505062000349565b600054610100900460ff16158080156200006a5750600054600160ff909116105b806200009a575062000087306200019360201b620009ec1760201c565b1580156200009a575060005460ff166001145b620001035760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000127576000805461ff0019166101001790555b62000131620001a2565b6200013c836200020a565b62000147826200025c565b80156200018e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b600054610100900460ff16620001fe5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208620002b0565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff166200030c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208336200020a565b6000602082840312156200032a57600080fd5b81516001600160a01b03811681146200034257600080fd5b9392505050565b61101180620003596000396000f3fe6080604052600436106100d25760003560e01c80634e71d92d1161007f5780638da5cb5b116100595780638da5cb5b14610259578063a692979314610284578063f2fde38b146102b2578063fe173b97146102d257600080fd5b80634e71d92d146101e657806360fcef7c146101fb578063715018a61461024457600080fd5b80632f202650116100b05780632f2026501461017957806338af3eed14610199578063485cc955146101c657600080fd5b806311bf2c18146100d75780631c31f710146100ec5780631d16c8c81461010c575b600080fd5b6100ea6100e5366004610d83565b6102e7565b005b3480156100f857600080fd5b506100ea610107366004610dc9565b6104d2565b34801561011857600080fd5b5061014f610127366004610de4565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018557600080fd5b506100ea610194366004610dff565b6104e6565b3480156101a557600080fd5b5060665461014f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d257600080fd5b506100ea6101e1366004610e74565b61056c565b3480156101f257600080fd5b506100ea610712565b34801561020757600080fd5b5061021b610216366004610de4565b6107dc565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610170565b34801561025057600080fd5b506100ea61090e565b34801561026557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661014f565b34801561029057600080fd5b506102a461029f366004610ea7565b610922565b604051908152602001610170565b3480156102be57600080fd5b506100ea6102cd366004610dc9565b610938565b3480156102de57600080fd5b506102a4600a81565b60006102f38484610922565b90508034101561038a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60006103968234610f00565b9050801561048f5760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146103f8576040519150601f19603f3d011682016040523d82523d6000602084013e6103fd565b606091505b505090508061048d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c6564000000000000000000000000000000000000000000000000000000006064820152608401610381565b505b604080518581526020810184905287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b6104da610a08565b6104e381610a89565b50565b6104ee610a08565b8060005b818110156105665761055484848381811061050f5761050f610f13565b6105259260206040909202019081019150610de4565b85858481811061053757610537610f13565b905060400201602001602081019061054f9190610dc9565b610b02565b8061055e81610f42565b9150506104f2565b50505050565b600054610100900460ff161580801561058c5750600054600160ff909116105b806105a65750303b1580156105a6575060005460ff166001145b610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610381565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610698610b90565b6106a183610c2f565b6106aa82610a89565b801561070d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d806000811461076c576040519150601f19603f3d011682016040523d82523d6000602084013e610771565b606091505b50509050806104e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e7366657200000000000000000000000000000000000000000000006044820152606401610381565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676173206f7261636c650000000000000000000000000000000000000000006044820152606401610381565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109049190610f9a565b9250925050915091565b610916610a08565b6109206000610c2f565b565b600061092f82600a610fc4565b90505b92915050565b610940610a08565b73ffffffffffffffffffffffffffffffffffffffff81166109e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610381565b6104e381610c2f565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610381565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b63ffffffff821660008181526065602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915591519182527f38b842e116ff320f6a79ba4cf434eee927fa156b226c65c90d62989de589b4e7910160405180910390a25050565b600054610100900460ff16610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b610920610ca6565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b61092033610c2f565b803563ffffffff81168114610d5a57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060008060808587031215610d9957600080fd5b84359350610da960208601610d46565b925060408501359150610dbe60608601610d5f565b905092959194509250565b600060208284031215610ddb57600080fd5b61092f82610d5f565b600060208284031215610df657600080fd5b61092f82610d46565b60008060208385031215610e1257600080fd5b823567ffffffffffffffff80821115610e2a57600080fd5b818501915085601f830112610e3e57600080fd5b813581811115610e4d57600080fd5b8660208260061b8501011115610e6257600080fd5b60209290920196919550909350505050565b60008060408385031215610e8757600080fd5b610e9083610d5f565b9150610e9e60208401610d5f565b90509250929050565b60008060408385031215610eba57600080fd5b610ec383610d46565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561093257610932610ed1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f7357610f73610ed1565b5060010190565b80516fffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060408385031215610fad57600080fd5b610fb683610f7a565b9150610e9e60208401610f7a565b808202811582820484141761093257610932610ed156fea2646970667358221220692f0dc20254928324a362cc2a9473bc21726fba0f4d73af47ff6e8c6fb81a7164736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea2646970667358221220a1a05fbfc54039f64706d6b983d8ed604b13adbd5a9e4e8990057c4b1a77b1d764736f6c63430008110033608060405234801561001057600080fd5b506122df806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063b49c53a711610097578063f1bd6f0a11610066578063f1bd6f0a1461024c578063f2fde38b1461025f578063f3c61d6b14610272578063f8c8765e1461028557600080fd5b8063b49c53a7146101e6578063d5438eae146101f9578063de523cf314610219578063e9198bf91461023957600080fd5b806356d5d475116100d357806356d5d4751461019a578063715018a6146101ad5780638cc02cab146101b55780638da5cb5b146101c857600080fd5b80630e72cc06146101055780632ead72f61461011a57806339bb4ad914610140578063440df4f414610185575b600080fd5b610118610113366004611677565b610298565b005b61012d6101283660046116a6565b6102ac565b6040519081526020015b60405180910390f35b6066546101609073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610137565b61018d6102ee565b60405161013791906116c1565b6101186101a836600461170b565b6103a9565b6101186104a1565b61012d6101c33660046117de565b6104b5565b60335473ffffffffffffffffffffffffffffffffffffffff16610160565b6101186101f4366004611831565b610506565b6065546101609073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101609073ffffffffffffffffffffffffffffffffffffffff1681565b61011861024736600461185b565b61051c565b61011861025a366004611677565b6105f9565b61011861026d366004611677565b61060a565b610118610280366004611677565b6106be565b6101186102933660046118c7565b6106cf565b6102a0610868565b6102a9816108e9565b50565b60006102c2609863ffffffff808516906109f716565b156102e1576102db609863ffffffff80851690610a0a16565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156103115761031161191b565b60405190808252806020026020018201604052801561033a578160200160208202803683370190505b50905060005b82548110156103a25782818154811061035b5761035b61194a565b906000526020600020015460001c82828151811061037b5761037b61194a565b63ffffffff909216602092830291909101909101528061039a816119a8565b915050610340565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff16331461042f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f7800000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b838361043b8282610a16565b604051806080016040528060438152602001612242604391399061048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269190611a4e565b5061049986868686610a2a565b505050505050565b6104a9610868565b6104b36000610b4e565b565b604051600090339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e5908490a36104fe846104f9858533610bc5565b610bf7565b949350505050565b61050e610868565b6105188282610ca1565b5050565b610524610868565b82811461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610426565b60005b838110156105f2576105e08585838181106105ad576105ad61194a565b90506020020160208101906105c291906116a6565b8484848181106105d4576105d461194a565b90506020020135610ca1565b6105eb600182611a61565b9050610590565b5050505050565b610601610868565b6102a981610cee565b610612610868565b73ffffffffffffffffffffffffffffffffffffffff81166106b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610426565b6102a981610b4e565b6106c6610868565b6102a981610ddd565b600054610100900460ff16158080156106ef5750600054600160ff909116105b806107095750303b158015610709575060005460ff166001145b610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610426565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107f357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6107ff85858585610ecc565b80156105f257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146104b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610426565b73ffffffffffffffffffffffffffffffffffffffff81161580610922575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610426565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6000610a038383610f8d565b9392505050565b6000610a038383610f99565b600081610a22846102ac565b149392505050565b6000610a368383611023565b90506000610a44848461105d565b90506002826003811115610a5a57610a5a611a74565b03610ac4576000610a6b8585611075565b90506000610a78826110b6565b9050828863ffffffff167fb689f7016112eaacc7edebd6ea5eb700790a103e79c39ce0118e075de87d797660405160405180910390a3610abc886104f98386611161565b505050610499565b6003826003811115610ad857610ad8611a74565b03610b4657806000610aea8686611190565b9050610af682826111c8565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8a16907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a35050610499565b610499611aa3565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60608160028585604051602001610bdf9493929190611bf7565b60405160208183030381529060405290509392505050565b600080610c0384611205565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610c5e90879085908890600401611ce4565b6020604051808303816000875af1158015610c7d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe9190611d09565b610cb7609863ffffffff80851690849061127016565b604051819063ffffffff8416907f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645890600090a35050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610d6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610426565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610e5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610426565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff16610f63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610426565b610f6c84610ddd565b610f7583610cee565b610f7e826108e9565b610f8781610b4e565b50505050565b6000610a03838361127b565b600081815260028301602052604081205480151580610fbd5750610fbd8484610f8d565b610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610426565b6000828261103360016040611d22565b8181106110425761104261194a565b919091013560f81c90506003811115610a0357610a03611a74565b600061106c6020828486611d35565b610a0391611d5f565b606060026110838484611023565b600381111561109457611094611a74565b146110a1576110a1611aa3565b6110ad82840184611ed4565b95945050505050565b8051606090600090818167ffffffffffffffff8111156110d8576110d861191b565b60405190808252806020026020018201604052801561110b57816020015b60608152602001906001900390816110f65790505b5090505b818310156104fe5761113985848151811061112c5761112c61194a565b6020026020010151611293565b81848151811061114b5761114b61194a565b602002602001018190525082600101925061110f565b60608160038460405160200161117993929190612093565b604051602081830303815290604052905092915050565b6060600361119e8484611023565b60038111156111af576111af611a74565b146111bc576111bc611aa3565b6110ad82840184612129565b80516000905b80821015610f87576111f9848484815181106111ec576111ec61194a565b60200260200101516112ce565b508160010191506111ce565b6000611210826102ac565b90506000801b811415604051806080016040528060438152602001612242604391399061126a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269190611a4e565b50919050565b610f87838383611312565b60008181526001830160205260408120541515610a03565b606081602001516112a7836000015161132f565b6040516020016112b89291906121f6565b6040516020818303038152906040529050919050565b6060610a03838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611347565b600082815260028401602052604081208290556104fe8484611460565b60606102db61133d8361146c565b8360200151611476565b6060824710156113d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610426565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516114029190612225565b60006040518083038185875af1925050503d806000811461143f576040519150601f19603f3d011682016040523d82523d6000602084013e611444565b606091505b50915091506114558783838761149b565b979650505050505050565b6000610a03838361153b565b80516000906102db565b6060610a0383836040518060600160405280602581526020016122856025913961158a565b6060831561153157825160000361152a5773ffffffffffffffffffffffffffffffffffffffff85163b61152a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610426565b50816104fe565b6104fe838361160f565b6000818152600183016020526040812054611582575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102db565b5060006102db565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516115b49190612225565b600060405180830381855afa9150503d80600081146115ef576040519150601f19603f3d011682016040523d82523d6000602084013e6115f4565b606091505b50915091506116058683838761149b565b9695505050505050565b81511561161f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269190611a4e565b803573ffffffffffffffffffffffffffffffffffffffff811681146102e957600080fd5b60006020828403121561168957600080fd5b610a0382611653565b803563ffffffff811681146102e957600080fd5b6000602082840312156116b857600080fd5b610a0382611692565b6020808252825182820181905260009190848201906040850190845b818110156116ff57835163ffffffff16835292840192918401916001016116dd565b50909695505050505050565b6000806000806060858703121561172157600080fd5b61172a85611692565b935060208501359250604085013567ffffffffffffffff8082111561174e57600080fd5b818701915087601f83011261176257600080fd5b81358181111561177157600080fd5b88602082850101111561178357600080fd5b95989497505060200194505050565b60008083601f8401126117a457600080fd5b50813567ffffffffffffffff8111156117bc57600080fd5b6020830191508360208260051b85010111156117d757600080fd5b9250929050565b6000806000604084860312156117f357600080fd5b6117fc84611692565b9250602084013567ffffffffffffffff81111561181857600080fd5b61182486828701611792565b9497909650939450505050565b6000806040838503121561184457600080fd5b61184d83611692565b946020939093013593505050565b6000806000806040858703121561187157600080fd5b843567ffffffffffffffff8082111561188957600080fd5b61189588838901611792565b909650945060208701359150808211156118ae57600080fd5b506118bb87828801611792565b95989497509550505050565b600080600080608085870312156118dd57600080fd5b6118e685611653565b93506118f460208601611653565b925061190260408601611653565b915061191060608601611653565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119d9576119d9611979565b5060010190565b60005b838110156119fb5781810151838201526020016119e3565b50506000910152565b60008151808452611a1c8160208601602086016119e0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a036020830184611a04565b808201808211156102db576102db611979565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60048110611b09577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611b4157600080fd5b90910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b7f57600080fd5b830160208101925035905067ffffffffffffffff811115611b9f57600080fd5b8036038213156117d757600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060608083018784526020611c0f81860189611ad2565b604085810184905291869052608091828601600588901b870184018960005b8a811015611cd2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8403018452611c67828d611b0d565b611c718182611b0d565b868552803587860152611c8688820182611b4a565b9150878b870152611c9a8a87018383611bae565b915050611ca988830183611b4a565b925085820389870152611cbd828483611bae565b96890196955050509186019150600101611c2e565b50909c9b505050505050505050505050565b63ffffffff841681528260208201526060604082015260006110ad6060830184611a04565b600060208284031215611d1b57600080fd5b5051919050565b818103818111156102db576102db611979565b60008085851115611d4557600080fd5b83861115611d5257600080fd5b5050820193919092039150565b803560208310156102db577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8035600481106102e957600080fd5b6040805190810167ffffffffffffffff81118282101715611dcd57611dcd61191b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611e1a57611e1a61191b565b604052919050565b600067ffffffffffffffff821115611e3c57611e3c61191b565b5060051b60200190565b600082601f830112611e5757600080fd5b813567ffffffffffffffff811115611e7157611e7161191b565b611ea260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611dd3565b818152846020838601011115611eb757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215611ee957600080fd5b83359250611ef960208501611d9b565b915067ffffffffffffffff60408501351115611f1457600080fd5b6040840135840185601f820112611f2a57600080fd5b611f3c611f378235611e22565b611dd3565b81358082526020808301929160051b840101881015611f5a57600080fd5b602083015b6020843560051b8501018110156120855767ffffffffffffffff81351115611f8657600080fd5b803584017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604081838d03011215611fbd57600080fd5b611fc5611daa565b67ffffffffffffffff60208401351115611fde57600080fd5b60208301358301604083828f03011215611ff757600080fd5b611fff611daa565b92506020810135835267ffffffffffffffff6040820135111561202157600080fd5b6120348d60206040840135840101611e46565b60208401525081815267ffffffffffffffff6040840135111561205657600080fd5b6120698c60206040860135860101611e46565b6020820152808652505050602083019250602081019050611f5f565b508093505050509250925092565b60006060820185835260206120aa81850187611ad2565b6060604085015281855180845260808601915060808160051b870101935082870160005b8281101561211a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80888703018452612108868351611a04565b955092840192908401906001016120ce565b50939998505050505050505050565b60008060006060848603121561213e57600080fd5b83359250602061214f818601611d9b565b9250604085013567ffffffffffffffff8082111561216c57600080fd5b818701915087601f83011261218057600080fd5b813561218e611f3782611e22565b81815260059190911b8301840190848101908a8311156121ad57600080fd5b8585015b838110156121e5578035858111156121c95760008081fd5b6121d78d89838a0101611e46565b8452509186019186016121b1565b508096505050505050509250925092565b600083516122088184602088016119e0565b83519083019061221c8183602088016119e0565b01949350505050565b600082516122378184602087016119e0565b919091019291505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443f416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a26469706673582212202313370fdaf5173ec45eadff15397647af9c8c814de57f2eb4fede8a98026a5664736f6c63430008110033";
|
|
15
|
+
static readonly bytecode = "0x608060405234801561001057600080fd5b506040516200546538038062005465833981016040819052610031916106ab565b6000805463ffffffff838116640100000000026001600160401b03199092169085161717815560405183906100659061065a565b63ffffffff9091168152602001604051809103906000f08015801561008e573d6000803e3d6000fd5b5090506000826040516100a09061065a565b63ffffffff9091168152602001604051809103906000f0801580156100c9573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011d57600080fd5b505af1158015610131573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b50505050306040516101a990610668565b6001600160a01b039091168152602001604051809103906000f0801580156101d5573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b03939093169290921790915551309061021890610668565b6001600160a01b039091168152602001604051809103906000f080158015610244573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161028d90610676565b604051809103906000f0801580156102a9573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102ea90610676565b604051809103906000f080158015610306573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161037f90610684565b604051809103906000f08015801561039b573d6000803e3d6000fd5b50905060006040516103ac90610684565b604051809103906000f0801580156103c8573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876105218561064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561056557600080fd5b505af1158015610579573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a7886105a08661064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106de915050565b6001600160a01b031690565b610eb18062000a0883390190565b61138a80620018b983390190565b61021e8062002c4383390190565b6126048062002e6183390190565b805163ffffffff811681146106a657600080fd5b919050565b600080604083850312156106be57600080fd5b6106c783610692565b91506106d560208401610692565b90509250929050565b61031a80620006ee6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea2646970667358221220c94f9e0b0086c5b31091c64a70fb17ff1819f9eb4ebce3bdb0fb1ad75c7cb09764736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610eb1380380610eb18339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610e096100a8600039600061026801526000818161017601526107d30152610e096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610247578063fd10ebe51461025a578063ffa1ad741461026357600080fd5b806392d28b3d146101c0578063a3b4919f146101e3578063d12164e41461023e57600080fd5b80638209d312116100b25780638209d312146101685780638d3638f414610171578063924324aa146101ad57600080fd5b80631605c306146100d9578063522ae002146100e357806359b3f6e0146100ff575b600080fd5b6100e161028a565b005b6100ec61080081565b6040519081526020015b60405180910390f35b6100e161010d366004610894565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6100ec60015481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f6565b6100e16101bb366004610914565b61044e565b6101d36101ce36600461098e565b6105ad565b6040516100f69493929190610a0b565b6102196101f1366004610a5a565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f6565b6100ec60025481565b6100ec610255366004610a7c565b610683565b6100ec60005481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169482019490945260018201549093169183019190915292830180549293919260608401919061030090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461032c90610ad6565b80156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103e0846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b815260040161040393929190610b29565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b50506002805492509050600061044683610b57565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061058e9082610c34565b505060018054915060006105a183610b57565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff90811694931692919061060090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610ad6565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905084565b60006108008211156106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e67000000000000000000000000000000000000000060448201526064015b60405180910390fd5b63ffffffff851660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064016106ed565b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610803907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610d4e565b600060405180830381600087803b15801561081d57600080fd5b505af1158015610831573d6000803e3d6000fd5b505060008054925090508061084583610b57565b909155506000979650505050505050565b803563ffffffff8116811461086a57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b50565b600080604083850312156108a757600080fd5b6108b083610856565b915060208301356108c08161086f565b809150509250929050565b60008083601f8401126108dd57600080fd5b50813567ffffffffffffffff8111156108f557600080fd5b60208301915083602082850101111561090d57600080fd5b9250929050565b60008060008060006080868803121561092c57600080fd5b61093586610856565b945060208601356109458161086f565b935060408601356109558161086f565b9250606086013567ffffffffffffffff81111561097157600080fd5b61097d888289016108cb565b969995985093965092949392505050565b6000602082840312156109a057600080fd5b5035919050565b6000815180845260005b818110156109cd576020818501810151868301820152016109b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610a5060808301846109a7565b9695505050505050565b600060208284031215610a6c57600080fd5b610a7582610856565b9392505050565b60008060008060608587031215610a9257600080fd5b610a9b85610856565b935060208501359250604085013567ffffffffffffffff811115610abe57600080fd5b610aca878288016108cb565b95989497509550505050565b600181811c90821680610aea57607f821691505b602082108103610b23577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610b4e60608301846109a7565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610baf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610c2f57600081815260208120601f850160051c81016020861015610c0c5750805b601f850160051c820191505b81811015610c2b57828155600101610c18565b5050505b505050565b815167ffffffffffffffff811115610c4e57610c4e610bb6565b610c6281610c5c8454610ad6565b84610be5565b602080601f831160018114610cb55760008415610c7f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610c2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610d0257888601518255948401946001909101908401610ce3565b5085821015610d3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea26469706673582212207ef6a337219ecd32d676708e4369e0cc2b8a0c8a362f8113747c17fde677812c64736f6c6343000811003360806040523480156200001157600080fd5b506040516200138a3803806200138a833981016040819052620000349162000317565b8062000041338262000049565b505062000349565b600054610100900460ff16158080156200006a5750600054600160ff909116105b806200009a575062000087306200019360201b620009ec1760201c565b1580156200009a575060005460ff166001145b620001035760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000127576000805461ff0019166101001790555b62000131620001a2565b6200013c836200020a565b62000147826200025c565b80156200018e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b600054610100900460ff16620001fe5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208620002b0565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff166200030c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208336200020a565b6000602082840312156200032a57600080fd5b81516001600160a01b03811681146200034257600080fd5b9392505050565b61101180620003596000396000f3fe6080604052600436106100d25760003560e01c80634e71d92d1161007f5780638da5cb5b116100595780638da5cb5b14610259578063a692979314610284578063f2fde38b146102b2578063fe173b97146102d257600080fd5b80634e71d92d146101e657806360fcef7c146101fb578063715018a61461024457600080fd5b80632f202650116100b05780632f2026501461017957806338af3eed14610199578063485cc955146101c657600080fd5b806311bf2c18146100d75780631c31f710146100ec5780631d16c8c81461010c575b600080fd5b6100ea6100e5366004610d83565b6102e7565b005b3480156100f857600080fd5b506100ea610107366004610dc9565b6104d2565b34801561011857600080fd5b5061014f610127366004610de4565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018557600080fd5b506100ea610194366004610dff565b6104e6565b3480156101a557600080fd5b5060665461014f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d257600080fd5b506100ea6101e1366004610e74565b61056c565b3480156101f257600080fd5b506100ea610712565b34801561020757600080fd5b5061021b610216366004610de4565b6107dc565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610170565b34801561025057600080fd5b506100ea61090e565b34801561026557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661014f565b34801561029057600080fd5b506102a461029f366004610ea7565b610922565b604051908152602001610170565b3480156102be57600080fd5b506100ea6102cd366004610dc9565b610938565b3480156102de57600080fd5b506102a4600a81565b60006102f38484610922565b90508034101561038a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60006103968234610f00565b9050801561048f5760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146103f8576040519150601f19603f3d011682016040523d82523d6000602084013e6103fd565b606091505b505090508061048d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c6564000000000000000000000000000000000000000000000000000000006064820152608401610381565b505b604080518581526020810184905287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b6104da610a08565b6104e381610a89565b50565b6104ee610a08565b8060005b818110156105665761055484848381811061050f5761050f610f13565b6105259260206040909202019081019150610de4565b85858481811061053757610537610f13565b905060400201602001602081019061054f9190610dc9565b610b02565b8061055e81610f42565b9150506104f2565b50505050565b600054610100900460ff161580801561058c5750600054600160ff909116105b806105a65750303b1580156105a6575060005460ff166001145b610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610381565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610698610b90565b6106a183610c2f565b6106aa82610a89565b801561070d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d806000811461076c576040519150601f19603f3d011682016040523d82523d6000602084013e610771565b606091505b50509050806104e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e7366657200000000000000000000000000000000000000000000006044820152606401610381565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676173206f7261636c650000000000000000000000000000000000000000006044820152606401610381565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109049190610f9a565b9250925050915091565b610916610a08565b6109206000610c2f565b565b600061092f82600a610fc4565b90505b92915050565b610940610a08565b73ffffffffffffffffffffffffffffffffffffffff81166109e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610381565b6104e381610c2f565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610381565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b63ffffffff821660008181526065602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915591519182527f38b842e116ff320f6a79ba4cf434eee927fa156b226c65c90d62989de589b4e7910160405180910390a25050565b600054610100900460ff16610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b610920610ca6565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b61092033610c2f565b803563ffffffff81168114610d5a57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060008060808587031215610d9957600080fd5b84359350610da960208601610d46565b925060408501359150610dbe60608601610d5f565b905092959194509250565b600060208284031215610ddb57600080fd5b61092f82610d5f565b600060208284031215610df657600080fd5b61092f82610d46565b60008060208385031215610e1257600080fd5b823567ffffffffffffffff80821115610e2a57600080fd5b818501915085601f830112610e3e57600080fd5b813581811115610e4d57600080fd5b8660208260061b8501011115610e6257600080fd5b60209290920196919550909350505050565b60008060408385031215610e8757600080fd5b610e9083610d5f565b9150610e9e60208401610d5f565b90509250929050565b60008060408385031215610eba57600080fd5b610ec383610d46565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561093257610932610ed1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f7357610f73610ed1565b5060010190565b80516fffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060408385031215610fad57600080fd5b610fb683610f7a565b9150610e9e60208401610f7a565b808202811582820484141761093257610932610ed156fea264697066735822122013b0aa02897f995e12f50fe1b7cf610f4ed357aa6adb002dd58e295403b344ba64736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea26469706673582212209ad0ad937c4ecc62cd0ff6fbc0e30e5c6f1461a505d385a10bde27a54694b1e264736f6c63430008110033608060405234801561001057600080fd5b506125e4806100206000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80638da5cb5b116100b2578063e9198bf911610081578063f2fde38b11610066578063f2fde38b1461028d578063f3c61d6b146102a0578063f8c8765e146102b357600080fd5b8063e9198bf914610267578063f1bd6f0a1461027a57600080fd5b80638da5cb5b146101f6578063b49c53a714610214578063d5438eae14610227578063de523cf31461024757600080fd5b8063440df4f4116100ee578063440df4f4146101b357806356d5d475146101c8578063715018a6146101db5780638cc02cab146101e357600080fd5b80630e72cc06146101205780632222b452146101355780632ead72f61461015b57806339bb4ad91461016e575b600080fd5b61013361012e36600461183e565b6102c6565b005b6101486101433660046119a2565b6102da565b6040519081526020015b60405180910390f35b610148610169366004611a27565b61032d565b60665461018e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b6101bb61036f565b6040516101529190611a42565b6101336101d6366004611a8c565b61042a565b610133610522565b6101486101f1366004611b5f565b610536565b60335473ffffffffffffffffffffffffffffffffffffffff1661018e565b610133610222366004611bb2565b610582565b60655461018e9073ffffffffffffffffffffffffffffffffffffffff1681565b60675461018e9073ffffffffffffffffffffffffffffffffffffffff1681565b610133610275366004611bdc565b610598565b61013361028836600461183e565b610675565b61013361029b36600461183e565b610686565b6101336102ae36600461183e565b61073a565b6101336102c1366004611c48565b61074b565b6102ce6108e4565b6102d781610965565b50565b604051600090339063ffffffff8716907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e5908490a36103248561031f33878787610a73565b610b27565b95945050505050565b6000610343609863ffffffff80851690610bd116565b156103625761035c609863ffffffff80851690610be416565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156103925761039261186d565b6040519080825280602002602001820160405280156103bb578160200160208202803683370190505b50905060005b8254811015610423578281815481106103dc576103dc611c9c565b906000526020600020015460001c8282815181106103fc576103fc611c9c565b63ffffffff909216602092830291909101909101528061041b81611cfa565b9150506103c1565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f7800000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b83836104bc8282610bf0565b604051806080016040528060438152602001612547604391399061050d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a79190611da0565b5061051a86868686610c04565b505050505050565b61052a6108e4565b6105346000610d28565b565b604051600090339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e5908490a361057a8461031f338686610d9f565b949350505050565b61058a6108e4565b6105948282610dd1565b5050565b6105a06108e4565b828114610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016104a7565b60005b8381101561066e5761065c85858381811061062957610629611c9c565b905060200201602081019061063e9190611a27565b84848481811061065057610650611c9c565b90506020020135610dd1565b610667600182611db3565b905061060c565b5050505050565b61067d6108e4565b6102d781610e2b565b61068e6108e4565b73ffffffffffffffffffffffffffffffffffffffff8116610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104a7565b6102d781610d28565b6107426108e4565b6102d781610f1a565b600054610100900460ff161580801561076b5750600054600160ff909116105b806107855750303b158015610785575060005460ff166001145b610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561086f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61087b85858585611009565b801561066e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a7565b73ffffffffffffffffffffffffffffffffffffffff8116158061099e575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610a04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e7472616374000000000000000000000000000000000000000000000060448201526064016104a7565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b60408051600180825281830190925260609160009190816020015b610ab96040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610a8e579050509050610ad98585856110ca565b81600081518110610aec57610aec611c9c565b602002602001018190525085600082604051602001610b0d93929190611e30565b604051602081830303815290604052915050949350505050565b600080610b338461111a565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610b8e90879085908890600401611efb565b6020604051808303816000875af1158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a9190611f20565b6000610bdd8383611185565b9392505050565b6000610bdd8383611191565b600081610bfc8461032d565b149392505050565b6000610c10838361121b565b90506000610c1e8484611255565b90506000826001811115610c3457610c34611dc6565b03610c9e576000610c45858561126d565b90506000610c52826112a5565b9050828863ffffffff167fb689f7016112eaacc7edebd6ea5eb700790a103e79c39ce0118e075de87d797660405160405180910390a3610c968861031f8584611350565b50505061051a565b6001826001811115610cb257610cb2611dc6565b03610d2057806000610cc4868661137f565b9050610cd082826113b7565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8a16907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a3505061051a565b61051a611f39565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60608360008484604051602001610db99493929190612052565b60405160208183030381529060405290509392505050565b610de7609863ffffffff8085169084906113f416565b8163ffffffff167f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645882604051610e1f91815260200190565b60405180910390a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610eaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e7472616374000000000000000000000000000000000000000000000060448201526064016104a7565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610f99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e7472616374000000000000000000000000000000000000000000000060448201526064016104a7565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff166110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a7565b6110a984610f1a565b6110b283610e2b565b6110bb82610965565b6110c481610d28565b50505050565b6110f56040805160808101825260009181019182526060808201529081908152602001606081525090565b604051806040016040528061110a86866113ff565b8152602001929092525092915050565b60006111258261032d565b90506000801b811415604051806080016040528060438152602001612547604391399061117f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a79190611da0565b50919050565b6000610bdd8383611451565b6000818152600283016020526040812054801515806111b557506111b58484611185565b610bdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016104a7565b6000828261122b6001604061212d565b81811061123a5761123a611c9c565b919091013560f81c90506001811115610bdd57610bdd611dc6565b60006112646020828486612140565b610bdd9161216a565b6060600061127b848461121b565b600181111561128c5761128c611dc6565b1461129957611299611f39565b610324828401846121d9565b8051606090600090818167ffffffffffffffff8111156112c7576112c761186d565b6040519080825280602002602001820160405280156112fa57816020015b60608152602001906001900390816112e55790505b5090505b8183101561057a5761132885848151811061131b5761131b611c9c565b6020026020010151611469565b81848151811061133a5761133a611c9c565b60200260200101819052508260010192506112fe565b60608260018360405160200161136893929190612398565b604051602081830303815290604052905092915050565b6060600161138d848461121b565b600181111561139e5761139e611dc6565b146113ab576113ab611f39565b6103248284018461242e565b80516000905b808210156110c4576113e8848484815181106113db576113db611c9c565b60200260200101516114a4565b508160010191506113bd565b6110c48383836114e8565b6040805180820182526000808252606060208084018290528451808601865292835291820152825180840190935273ffffffffffffffffffffffffffffffffffffffff85168352820183905290610bdd565b60008181526001830160205260408120541515610bdd565b6060816020015161147d8360000151611505565b60405160200161148e9291906124fb565b6040516020818303038152906040529050919050565b6060610bdd838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611518565b6000828152600284016020526040812082905561057a8484611631565b805160609061035c90836020015161163d565b6060824710156115aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104a7565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115d3919061252a565b60006040518083038185875af1925050503d8060008114611610576040519150601f19603f3d011682016040523d82523d6000602084013e611615565b606091505b509150915061162687838387611662565b979650505050505050565b6000610bdd8383611702565b6060610bdd838360405180606001604052806025815260200161258a60259139611751565b606083156116f85782516000036116f15773ffffffffffffffffffffffffffffffffffffffff85163b6116f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a7565b508161057a565b61057a83836117d6565b60008181526001830160205260408120546117495750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561035c565b50600061035c565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161177b919061252a565b600060405180830381855afa9150503d80600081146117b6576040519150601f19603f3d011682016040523d82523d6000602084013e6117bb565b606091505b50915091506117cc86838387611662565b9695505050505050565b8151156117e65781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a79190611da0565b803573ffffffffffffffffffffffffffffffffffffffff8116811461036a57600080fd5b60006020828403121561185057600080fd5b610bdd8261181a565b803563ffffffff8116811461036a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156118bf576118bf61186d565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561190c5761190c61186d565b604052919050565b600082601f83011261192557600080fd5b813567ffffffffffffffff81111561193f5761193f61186d565b61197060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016118c5565b81815284602083860101111561198557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156119b857600080fd5b6119c185611859565b93506119cf6020860161181a565b9250604085013567ffffffffffffffff808211156119ec57600080fd5b6119f888838901611914565b93506060870135915080821115611a0e57600080fd5b50611a1b87828801611914565b91505092959194509250565b600060208284031215611a3957600080fd5b610bdd82611859565b6020808252825182820181905260009190848201906040850190845b81811015611a8057835163ffffffff1683529284019291840191600101611a5e565b50909695505050505050565b60008060008060608587031215611aa257600080fd5b611aab85611859565b935060208501359250604085013567ffffffffffffffff80821115611acf57600080fd5b818701915087601f830112611ae357600080fd5b813581811115611af257600080fd5b886020828501011115611b0457600080fd5b95989497505060200194505050565b60008083601f840112611b2557600080fd5b50813567ffffffffffffffff811115611b3d57600080fd5b6020830191508360208260051b8501011115611b5857600080fd5b9250929050565b600080600060408486031215611b7457600080fd5b611b7d84611859565b9250602084013567ffffffffffffffff811115611b9957600080fd5b611ba586828701611b13565b9497909650939450505050565b60008060408385031215611bc557600080fd5b611bce83611859565b946020939093013593505050565b60008060008060408587031215611bf257600080fd5b843567ffffffffffffffff80821115611c0a57600080fd5b611c1688838901611b13565b90965094506020870135915080821115611c2f57600080fd5b50611c3c87828801611b13565b95989497509550505050565b60008060008060808587031215611c5e57600080fd5b611c678561181a565b9350611c756020860161181a565b9250611c836040860161181a565b9150611c916060860161181a565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d2b57611d2b611ccb565b5060010190565b60005b83811015611d4d578181015183820152602001611d35565b50506000910152565b60008151808452611d6e816020860160208601611d32565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610bdd6020830184611d56565b8082018082111561035c5761035c611ccb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611e2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600060608083018684526020611e4881860188611df5565b60408381870152828751808552608094508488019150848160051b890101848a0160005b83811015611ee9578a83037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80018552815180518785528051888601528801518a8501889052611ebd8a860182611d56565b91890151858303868b0152919050611ed58183611d56565b968901969450505090860190600101611e6c565b50909c9b505050505050505050505050565b63ffffffff841681528260208201526060604082015260006103246060830184611d56565b600060208284031215611f3257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611f9c57600080fd5b90910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611fda57600080fd5b830160208101925035905067ffffffffffffffff811115611ffa57600080fd5b803603821315611b5857600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006060808301878452602061206a81860189611df5565b604085810184905291869052608091828601600588901b870184018960005b8a811015611ee9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a84030184526120c2828d611f68565b6120cc8182611f68565b8685528035878601526120e188820182611fa5565b9150878b8701526120f58a87018383612009565b91505061210488830183611fa5565b925085820389870152612118828483612009565b96890196955050509186019150600101612089565b8181038181111561035c5761035c611ccb565b6000808585111561215057600080fd5b8386111561215d57600080fd5b5050820193919092039150565b8035602083101561035c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b80356002811061036a57600080fd5b600067ffffffffffffffff8211156121cf576121cf61186d565b5060051b60200190565b6000806000606084860312156121ee57600080fd5b833592506121fe602085016121a6565b915067ffffffffffffffff6040850135111561221957600080fd5b6040840135840185601f82011261222f57600080fd5b61224161223c82356121b5565b6118c5565b81358082526020808301929160051b84010188101561225f57600080fd5b602083015b6020843560051b85010181101561238a5767ffffffffffffffff8135111561228b57600080fd5b803584017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604081838d030112156122c257600080fd5b6122ca61189c565b67ffffffffffffffff602084013511156122e357600080fd5b60208301358301604083828f030112156122fc57600080fd5b61230461189c565b92506020810135835267ffffffffffffffff6040820135111561232657600080fd5b6123398d60206040840135840101611914565b60208401525081815267ffffffffffffffff6040840135111561235b57600080fd5b61236e8c60206040860135860101611914565b6020820152808652505050602083019250602081019050612264565b508093505050509250925092565b60006060820185835260206123af81850187611df5565b6060604085015281855180845260808601915060808160051b870101935082870160005b8281101561241f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8088870301845261240d868351611d56565b955092840192908401906001016123d3565b50939998505050505050505050565b60008060006060848603121561244357600080fd5b8335925060206124548186016121a6565b9250604085013567ffffffffffffffff8082111561247157600080fd5b818701915087601f83011261248557600080fd5b813561249361223c826121b5565b81815260059190911b8301840190848101908a8311156124b257600080fd5b8585015b838110156124ea578035858111156124ce5760008081fd5b6124dc8d89838a0101611914565b8452509186019186016124b6565b508096505050505050509250925092565b6000835161250d818460208801611d32565b835190830190612521818360208801611d32565b01949350505050565b6000825161253c818460208701611d32565b919091019291505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443f416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a2646970667358221220e53e3fa8afe4048f4779751128d854cd8f9da1bf8f3e9c67fe4d22573652a59864736f6c63430008110033";
|
|
16
16
|
static readonly abi: ({
|
|
17
17
|
inputs: {
|
|
18
18
|
internalType: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockHyperlaneEnvironment__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockHyperlaneEnvironment__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EACxB,iCAAiC,EAClC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,MAAM,EAGN,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,QAAQ,CAAC;AAkHhB,aAAK,yCAAyC,GAC1C,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,GAAG,IAAI,EAAE,yCAAyC;IAQrD,MAAM,CACb,aAAa,EAAE,YAAY,EAC3B,kBAAkB,EAAE,YAAY,EAChC,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,wBAAwB,CAAC;IAO3B,oBAAoB,CAC3B,aAAa,EAAE,YAAY,EAC3B,kBAAkB,EAAE,YAAY,EAChC,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAOZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB;IAGjD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,iCAAiC;IAInE,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"MockHyperlaneEnvironment__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockHyperlaneEnvironment__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EACxB,iCAAiC,EAClC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,MAAM,EAGN,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,QAAQ,CAAC;AAkHhB,aAAK,yCAAyC,GAC1C,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,GAAG,IAAI,EAAE,yCAAyC;IAQrD,MAAM,CACb,aAAa,EAAE,YAAY,EAC3B,kBAAkB,EAAE,YAAY,EAChC,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,wBAAwB,CAAC;IAO3B,oBAAoB,CAC3B,aAAa,EAAE,YAAY,EAC3B,kBAAkB,EAAE,YAAY,EAChC,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAOZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB;IAGjD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,iCAAiC;IAInE,MAAM,CAAC,QAAQ,CAAC,QAAQ,kt0CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;SAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,iCAAiC;IAG3D,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,wBAAwB;CAO5B"}
|
|
@@ -111,7 +111,7 @@ const _abi = [
|
|
|
111
111
|
type: "function",
|
|
112
112
|
},
|
|
113
113
|
];
|
|
114
|
-
const _bytecode = "0x608060405234801561001057600080fd5b506040516200516038038062005160833981016040819052610031916106ab565b6000805463ffffffff838116640100000000026001600160401b03199092169085161717815560405183906100659061065a565b63ffffffff9091168152602001604051809103906000f08015801561008e573d6000803e3d6000fd5b5090506000826040516100a09061065a565b63ffffffff9091168152602001604051809103906000f0801580156100c9573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011d57600080fd5b505af1158015610131573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b50505050306040516101a990610668565b6001600160a01b039091168152602001604051809103906000f0801580156101d5573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b03939093169290921790915551309061021890610668565b6001600160a01b039091168152602001604051809103906000f080158015610244573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161028d90610676565b604051809103906000f0801580156102a9573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102ea90610676565b604051809103906000f080158015610306573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161037f90610684565b604051809103906000f08015801561039b573d6000803e3d6000fd5b50905060006040516103ac90610684565b604051809103906000f0801580156103c8573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876105218561064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561056557600080fd5b505af1158015610579573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a7886105a08661064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106de915050565b6001600160a01b031690565b610eb18062000a0883390190565b61138a80620018b983390190565b61021e8062002c4383390190565b6122ff8062002e6183390190565b805163ffffffff811681146106a657600080fd5b919050565b600080604083850312156106be57600080fd5b6106c783610692565b91506106d560208401610692565b90509250929050565b61031a80620006ee6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea2646970667358221220a9db06465da49075944322c34757859a962cd22dab299c1964e247a8a66e342964736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610eb1380380610eb18339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610e096100a8600039600061026801526000818161017601526107d30152610e096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610247578063fd10ebe51461025a578063ffa1ad741461026357600080fd5b806392d28b3d146101c0578063a3b4919f146101e3578063d12164e41461023e57600080fd5b80638209d312116100b25780638209d312146101685780638d3638f414610171578063924324aa146101ad57600080fd5b80631605c306146100d9578063522ae002146100e357806359b3f6e0146100ff575b600080fd5b6100e161028a565b005b6100ec61080081565b6040519081526020015b60405180910390f35b6100e161010d366004610894565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6100ec60015481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f6565b6100e16101bb366004610914565b61044e565b6101d36101ce36600461098e565b6105ad565b6040516100f69493929190610a0b565b6102196101f1366004610a5a565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f6565b6100ec60025481565b6100ec610255366004610a7c565b610683565b6100ec60005481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169482019490945260018201549093169183019190915292830180549293919260608401919061030090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461032c90610ad6565b80156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103e0846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b815260040161040393929190610b29565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b50506002805492509050600061044683610b57565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061058e9082610c34565b505060018054915060006105a183610b57565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff90811694931692919061060090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610ad6565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905084565b60006108008211156106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e67000000000000000000000000000000000000000060448201526064015b60405180910390fd5b63ffffffff851660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064016106ed565b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610803907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610d4e565b600060405180830381600087803b15801561081d57600080fd5b505af1158015610831573d6000803e3d6000fd5b505060008054925090508061084583610b57565b909155506000979650505050505050565b803563ffffffff8116811461086a57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b50565b600080604083850312156108a757600080fd5b6108b083610856565b915060208301356108c08161086f565b809150509250929050565b60008083601f8401126108dd57600080fd5b50813567ffffffffffffffff8111156108f557600080fd5b60208301915083602082850101111561090d57600080fd5b9250929050565b60008060008060006080868803121561092c57600080fd5b61093586610856565b945060208601356109458161086f565b935060408601356109558161086f565b9250606086013567ffffffffffffffff81111561097157600080fd5b61097d888289016108cb565b969995985093965092949392505050565b6000602082840312156109a057600080fd5b5035919050565b6000815180845260005b818110156109cd576020818501810151868301820152016109b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610a5060808301846109a7565b9695505050505050565b600060208284031215610a6c57600080fd5b610a7582610856565b9392505050565b60008060008060608587031215610a9257600080fd5b610a9b85610856565b935060208501359250604085013567ffffffffffffffff811115610abe57600080fd5b610aca878288016108cb565b95989497509550505050565b600181811c90821680610aea57607f821691505b602082108103610b23577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610b4e60608301846109a7565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610baf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610c2f57600081815260208120601f850160051c81016020861015610c0c5750805b601f850160051c820191505b81811015610c2b57828155600101610c18565b5050505b505050565b815167ffffffffffffffff811115610c4e57610c4e610bb6565b610c6281610c5c8454610ad6565b84610be5565b602080601f831160018114610cb55760008415610c7f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610c2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610d0257888601518255948401946001909101908401610ce3565b5085821015610d3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea264697066735822122064e2ab6d41d9ca4bedffeb54c82b828f31f63f77cacd000dd06daf868802e51464736f6c6343000811003360806040523480156200001157600080fd5b506040516200138a3803806200138a833981016040819052620000349162000317565b8062000041338262000049565b505062000349565b600054610100900460ff16158080156200006a5750600054600160ff909116105b806200009a575062000087306200019360201b620009ec1760201c565b1580156200009a575060005460ff166001145b620001035760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000127576000805461ff0019166101001790555b62000131620001a2565b6200013c836200020a565b62000147826200025c565b80156200018e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b600054610100900460ff16620001fe5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208620002b0565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff166200030c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208336200020a565b6000602082840312156200032a57600080fd5b81516001600160a01b03811681146200034257600080fd5b9392505050565b61101180620003596000396000f3fe6080604052600436106100d25760003560e01c80634e71d92d1161007f5780638da5cb5b116100595780638da5cb5b14610259578063a692979314610284578063f2fde38b146102b2578063fe173b97146102d257600080fd5b80634e71d92d146101e657806360fcef7c146101fb578063715018a61461024457600080fd5b80632f202650116100b05780632f2026501461017957806338af3eed14610199578063485cc955146101c657600080fd5b806311bf2c18146100d75780631c31f710146100ec5780631d16c8c81461010c575b600080fd5b6100ea6100e5366004610d83565b6102e7565b005b3480156100f857600080fd5b506100ea610107366004610dc9565b6104d2565b34801561011857600080fd5b5061014f610127366004610de4565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018557600080fd5b506100ea610194366004610dff565b6104e6565b3480156101a557600080fd5b5060665461014f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d257600080fd5b506100ea6101e1366004610e74565b61056c565b3480156101f257600080fd5b506100ea610712565b34801561020757600080fd5b5061021b610216366004610de4565b6107dc565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610170565b34801561025057600080fd5b506100ea61090e565b34801561026557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661014f565b34801561029057600080fd5b506102a461029f366004610ea7565b610922565b604051908152602001610170565b3480156102be57600080fd5b506100ea6102cd366004610dc9565b610938565b3480156102de57600080fd5b506102a4600a81565b60006102f38484610922565b90508034101561038a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60006103968234610f00565b9050801561048f5760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146103f8576040519150601f19603f3d011682016040523d82523d6000602084013e6103fd565b606091505b505090508061048d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c6564000000000000000000000000000000000000000000000000000000006064820152608401610381565b505b604080518581526020810184905287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b6104da610a08565b6104e381610a89565b50565b6104ee610a08565b8060005b818110156105665761055484848381811061050f5761050f610f13565b6105259260206040909202019081019150610de4565b85858481811061053757610537610f13565b905060400201602001602081019061054f9190610dc9565b610b02565b8061055e81610f42565b9150506104f2565b50505050565b600054610100900460ff161580801561058c5750600054600160ff909116105b806105a65750303b1580156105a6575060005460ff166001145b610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610381565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610698610b90565b6106a183610c2f565b6106aa82610a89565b801561070d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d806000811461076c576040519150601f19603f3d011682016040523d82523d6000602084013e610771565b606091505b50509050806104e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e7366657200000000000000000000000000000000000000000000006044820152606401610381565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676173206f7261636c650000000000000000000000000000000000000000006044820152606401610381565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109049190610f9a565b9250925050915091565b610916610a08565b6109206000610c2f565b565b600061092f82600a610fc4565b90505b92915050565b610940610a08565b73ffffffffffffffffffffffffffffffffffffffff81166109e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610381565b6104e381610c2f565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610381565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b63ffffffff821660008181526065602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915591519182527f38b842e116ff320f6a79ba4cf434eee927fa156b226c65c90d62989de589b4e7910160405180910390a25050565b600054610100900460ff16610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b610920610ca6565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b61092033610c2f565b803563ffffffff81168114610d5a57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060008060808587031215610d9957600080fd5b84359350610da960208601610d46565b925060408501359150610dbe60608601610d5f565b905092959194509250565b600060208284031215610ddb57600080fd5b61092f82610d5f565b600060208284031215610df657600080fd5b61092f82610d46565b60008060208385031215610e1257600080fd5b823567ffffffffffffffff80821115610e2a57600080fd5b818501915085601f830112610e3e57600080fd5b813581811115610e4d57600080fd5b8660208260061b8501011115610e6257600080fd5b60209290920196919550909350505050565b60008060408385031215610e8757600080fd5b610e9083610d5f565b9150610e9e60208401610d5f565b90509250929050565b60008060408385031215610eba57600080fd5b610ec383610d46565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561093257610932610ed1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f7357610f73610ed1565b5060010190565b80516fffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060408385031215610fad57600080fd5b610fb683610f7a565b9150610e9e60208401610f7a565b808202811582820484141761093257610932610ed156fea2646970667358221220692f0dc20254928324a362cc2a9473bc21726fba0f4d73af47ff6e8c6fb81a7164736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea2646970667358221220a1a05fbfc54039f64706d6b983d8ed604b13adbd5a9e4e8990057c4b1a77b1d764736f6c63430008110033608060405234801561001057600080fd5b506122df806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063b49c53a711610097578063f1bd6f0a11610066578063f1bd6f0a1461024c578063f2fde38b1461025f578063f3c61d6b14610272578063f8c8765e1461028557600080fd5b8063b49c53a7146101e6578063d5438eae146101f9578063de523cf314610219578063e9198bf91461023957600080fd5b806356d5d475116100d357806356d5d4751461019a578063715018a6146101ad5780638cc02cab146101b55780638da5cb5b146101c857600080fd5b80630e72cc06146101055780632ead72f61461011a57806339bb4ad914610140578063440df4f414610185575b600080fd5b610118610113366004611677565b610298565b005b61012d6101283660046116a6565b6102ac565b6040519081526020015b60405180910390f35b6066546101609073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610137565b61018d6102ee565b60405161013791906116c1565b6101186101a836600461170b565b6103a9565b6101186104a1565b61012d6101c33660046117de565b6104b5565b60335473ffffffffffffffffffffffffffffffffffffffff16610160565b6101186101f4366004611831565b610506565b6065546101609073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101609073ffffffffffffffffffffffffffffffffffffffff1681565b61011861024736600461185b565b61051c565b61011861025a366004611677565b6105f9565b61011861026d366004611677565b61060a565b610118610280366004611677565b6106be565b6101186102933660046118c7565b6106cf565b6102a0610868565b6102a9816108e9565b50565b60006102c2609863ffffffff808516906109f716565b156102e1576102db609863ffffffff80851690610a0a16565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156103115761031161191b565b60405190808252806020026020018201604052801561033a578160200160208202803683370190505b50905060005b82548110156103a25782818154811061035b5761035b61194a565b906000526020600020015460001c82828151811061037b5761037b61194a565b63ffffffff909216602092830291909101909101528061039a816119a8565b915050610340565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff16331461042f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f7800000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b838361043b8282610a16565b604051806080016040528060438152602001612242604391399061048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269190611a4e565b5061049986868686610a2a565b505050505050565b6104a9610868565b6104b36000610b4e565b565b604051600090339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e5908490a36104fe846104f9858533610bc5565b610bf7565b949350505050565b61050e610868565b6105188282610ca1565b5050565b610524610868565b82811461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610426565b60005b838110156105f2576105e08585838181106105ad576105ad61194a565b90506020020160208101906105c291906116a6565b8484848181106105d4576105d461194a565b90506020020135610ca1565b6105eb600182611a61565b9050610590565b5050505050565b610601610868565b6102a981610cee565b610612610868565b73ffffffffffffffffffffffffffffffffffffffff81166106b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610426565b6102a981610b4e565b6106c6610868565b6102a981610ddd565b600054610100900460ff16158080156106ef5750600054600160ff909116105b806107095750303b158015610709575060005460ff166001145b610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610426565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107f357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6107ff85858585610ecc565b80156105f257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146104b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610426565b73ffffffffffffffffffffffffffffffffffffffff81161580610922575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610426565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6000610a038383610f8d565b9392505050565b6000610a038383610f99565b600081610a22846102ac565b149392505050565b6000610a368383611023565b90506000610a44848461105d565b90506002826003811115610a5a57610a5a611a74565b03610ac4576000610a6b8585611075565b90506000610a78826110b6565b9050828863ffffffff167fb689f7016112eaacc7edebd6ea5eb700790a103e79c39ce0118e075de87d797660405160405180910390a3610abc886104f98386611161565b505050610499565b6003826003811115610ad857610ad8611a74565b03610b4657806000610aea8686611190565b9050610af682826111c8565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8a16907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a35050610499565b610499611aa3565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60608160028585604051602001610bdf9493929190611bf7565b60405160208183030381529060405290509392505050565b600080610c0384611205565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610c5e90879085908890600401611ce4565b6020604051808303816000875af1158015610c7d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe9190611d09565b610cb7609863ffffffff80851690849061127016565b604051819063ffffffff8416907f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645890600090a35050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610d6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610426565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610e5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610426565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff16610f63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610426565b610f6c84610ddd565b610f7583610cee565b610f7e826108e9565b610f8781610b4e565b50505050565b6000610a03838361127b565b600081815260028301602052604081205480151580610fbd5750610fbd8484610f8d565b610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610426565b6000828261103360016040611d22565b8181106110425761104261194a565b919091013560f81c90506003811115610a0357610a03611a74565b600061106c6020828486611d35565b610a0391611d5f565b606060026110838484611023565b600381111561109457611094611a74565b146110a1576110a1611aa3565b6110ad82840184611ed4565b95945050505050565b8051606090600090818167ffffffffffffffff8111156110d8576110d861191b565b60405190808252806020026020018201604052801561110b57816020015b60608152602001906001900390816110f65790505b5090505b818310156104fe5761113985848151811061112c5761112c61194a565b6020026020010151611293565b81848151811061114b5761114b61194a565b602002602001018190525082600101925061110f565b60608160038460405160200161117993929190612093565b604051602081830303815290604052905092915050565b6060600361119e8484611023565b60038111156111af576111af611a74565b146111bc576111bc611aa3565b6110ad82840184612129565b80516000905b80821015610f87576111f9848484815181106111ec576111ec61194a565b60200260200101516112ce565b508160010191506111ce565b6000611210826102ac565b90506000801b811415604051806080016040528060438152602001612242604391399061126a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269190611a4e565b50919050565b610f87838383611312565b60008181526001830160205260408120541515610a03565b606081602001516112a7836000015161132f565b6040516020016112b89291906121f6565b6040516020818303038152906040529050919050565b6060610a03838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611347565b600082815260028401602052604081208290556104fe8484611460565b60606102db61133d8361146c565b8360200151611476565b6060824710156113d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610426565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516114029190612225565b60006040518083038185875af1925050503d806000811461143f576040519150601f19603f3d011682016040523d82523d6000602084013e611444565b606091505b50915091506114558783838761149b565b979650505050505050565b6000610a03838361153b565b80516000906102db565b6060610a0383836040518060600160405280602581526020016122856025913961158a565b6060831561153157825160000361152a5773ffffffffffffffffffffffffffffffffffffffff85163b61152a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610426565b50816104fe565b6104fe838361160f565b6000818152600183016020526040812054611582575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102db565b5060006102db565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516115b49190612225565b600060405180830381855afa9150503d80600081146115ef576040519150601f19603f3d011682016040523d82523d6000602084013e6115f4565b606091505b50915091506116058683838761149b565b9695505050505050565b81511561161f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269190611a4e565b803573ffffffffffffffffffffffffffffffffffffffff811681146102e957600080fd5b60006020828403121561168957600080fd5b610a0382611653565b803563ffffffff811681146102e957600080fd5b6000602082840312156116b857600080fd5b610a0382611692565b6020808252825182820181905260009190848201906040850190845b818110156116ff57835163ffffffff16835292840192918401916001016116dd565b50909695505050505050565b6000806000806060858703121561172157600080fd5b61172a85611692565b935060208501359250604085013567ffffffffffffffff8082111561174e57600080fd5b818701915087601f83011261176257600080fd5b81358181111561177157600080fd5b88602082850101111561178357600080fd5b95989497505060200194505050565b60008083601f8401126117a457600080fd5b50813567ffffffffffffffff8111156117bc57600080fd5b6020830191508360208260051b85010111156117d757600080fd5b9250929050565b6000806000604084860312156117f357600080fd5b6117fc84611692565b9250602084013567ffffffffffffffff81111561181857600080fd5b61182486828701611792565b9497909650939450505050565b6000806040838503121561184457600080fd5b61184d83611692565b946020939093013593505050565b6000806000806040858703121561187157600080fd5b843567ffffffffffffffff8082111561188957600080fd5b61189588838901611792565b909650945060208701359150808211156118ae57600080fd5b506118bb87828801611792565b95989497509550505050565b600080600080608085870312156118dd57600080fd5b6118e685611653565b93506118f460208601611653565b925061190260408601611653565b915061191060608601611653565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119d9576119d9611979565b5060010190565b60005b838110156119fb5781810151838201526020016119e3565b50506000910152565b60008151808452611a1c8160208601602086016119e0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a036020830184611a04565b808201808211156102db576102db611979565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60048110611b09577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611b4157600080fd5b90910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b7f57600080fd5b830160208101925035905067ffffffffffffffff811115611b9f57600080fd5b8036038213156117d757600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060608083018784526020611c0f81860189611ad2565b604085810184905291869052608091828601600588901b870184018960005b8a811015611cd2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8403018452611c67828d611b0d565b611c718182611b0d565b868552803587860152611c8688820182611b4a565b9150878b870152611c9a8a87018383611bae565b915050611ca988830183611b4a565b925085820389870152611cbd828483611bae565b96890196955050509186019150600101611c2e565b50909c9b505050505050505050505050565b63ffffffff841681528260208201526060604082015260006110ad6060830184611a04565b600060208284031215611d1b57600080fd5b5051919050565b818103818111156102db576102db611979565b60008085851115611d4557600080fd5b83861115611d5257600080fd5b5050820193919092039150565b803560208310156102db577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8035600481106102e957600080fd5b6040805190810167ffffffffffffffff81118282101715611dcd57611dcd61191b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611e1a57611e1a61191b565b604052919050565b600067ffffffffffffffff821115611e3c57611e3c61191b565b5060051b60200190565b600082601f830112611e5757600080fd5b813567ffffffffffffffff811115611e7157611e7161191b565b611ea260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611dd3565b818152846020838601011115611eb757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215611ee957600080fd5b83359250611ef960208501611d9b565b915067ffffffffffffffff60408501351115611f1457600080fd5b6040840135840185601f820112611f2a57600080fd5b611f3c611f378235611e22565b611dd3565b81358082526020808301929160051b840101881015611f5a57600080fd5b602083015b6020843560051b8501018110156120855767ffffffffffffffff81351115611f8657600080fd5b803584017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604081838d03011215611fbd57600080fd5b611fc5611daa565b67ffffffffffffffff60208401351115611fde57600080fd5b60208301358301604083828f03011215611ff757600080fd5b611fff611daa565b92506020810135835267ffffffffffffffff6040820135111561202157600080fd5b6120348d60206040840135840101611e46565b60208401525081815267ffffffffffffffff6040840135111561205657600080fd5b6120698c60206040860135860101611e46565b6020820152808652505050602083019250602081019050611f5f565b508093505050509250925092565b60006060820185835260206120aa81850187611ad2565b6060604085015281855180845260808601915060808160051b870101935082870160005b8281101561211a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80888703018452612108868351611a04565b955092840192908401906001016120ce565b50939998505050505050505050565b60008060006060848603121561213e57600080fd5b83359250602061214f818601611d9b565b9250604085013567ffffffffffffffff8082111561216c57600080fd5b818701915087601f83011261218057600080fd5b813561218e611f3782611e22565b81815260059190911b8301840190848101908a8311156121ad57600080fd5b8585015b838110156121e5578035858111156121c95760008081fd5b6121d78d89838a0101611e46565b8452509186019186016121b1565b508096505050505050509250925092565b600083516122088184602088016119e0565b83519083019061221c8183602088016119e0565b01949350505050565b600082516122378184602087016119e0565b919091019291505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443f416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a26469706673582212202313370fdaf5173ec45eadff15397647af9c8c814de57f2eb4fede8a98026a5664736f6c63430008110033";
|
|
114
|
+
const _bytecode = "0x608060405234801561001057600080fd5b506040516200546538038062005465833981016040819052610031916106ab565b6000805463ffffffff838116640100000000026001600160401b03199092169085161717815560405183906100659061065a565b63ffffffff9091168152602001604051809103906000f08015801561008e573d6000803e3d6000fd5b5090506000826040516100a09061065a565b63ffffffff9091168152602001604051809103906000f0801580156100c9573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011d57600080fd5b505af1158015610131573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b50505050306040516101a990610668565b6001600160a01b039091168152602001604051809103906000f0801580156101d5573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b03939093169290921790915551309061021890610668565b6001600160a01b039091168152602001604051809103906000f080158015610244573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161028d90610676565b604051809103906000f0801580156102a9573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102ea90610676565b604051809103906000f080158015610306573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161037f90610684565b604051809103906000f08015801561039b573d6000803e3d6000fd5b50905060006040516103ac90610684565b604051809103906000f0801580156103c8573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876105218561064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561056557600080fd5b505af1158015610579573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a7886105a08661064e60201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106de915050565b6001600160a01b031690565b610eb18062000a0883390190565b61138a80620018b983390190565b61021e8062002c4383390190565b6126048062002e6183390190565b805163ffffffff811681146106a657600080fd5b919050565b600080604083850312156106be57600080fd5b6106c783610692565b91506106d560208401610692565b90509250929050565b61031a80620006ee6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea2646970667358221220c94f9e0b0086c5b31091c64a70fb17ff1819f9eb4ebce3bdb0fb1ad75c7cb09764736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610eb1380380610eb18339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610e096100a8600039600061026801526000818161017601526107d30152610e096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610247578063fd10ebe51461025a578063ffa1ad741461026357600080fd5b806392d28b3d146101c0578063a3b4919f146101e3578063d12164e41461023e57600080fd5b80638209d312116100b25780638209d312146101685780638d3638f414610171578063924324aa146101ad57600080fd5b80631605c306146100d9578063522ae002146100e357806359b3f6e0146100ff575b600080fd5b6100e161028a565b005b6100ec61080081565b6040519081526020015b60405180910390f35b6100e161010d366004610894565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6100ec60015481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f6565b6100e16101bb366004610914565b61044e565b6101d36101ce36600461098e565b6105ad565b6040516100f69493929190610a0b565b6102196101f1366004610a5a565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f6565b6100ec60025481565b6100ec610255366004610a7c565b610683565b6100ec60005481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169482019490945260018201549093169183019190915292830180549293919260608401919061030090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461032c90610ad6565b80156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103e0846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b815260040161040393929190610b29565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b50506002805492509050600061044683610b57565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061058e9082610c34565b505060018054915060006105a183610b57565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff90811694931692919061060090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610ad6565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905084565b60006108008211156106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e67000000000000000000000000000000000000000060448201526064015b60405180910390fd5b63ffffffff851660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064016106ed565b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610803907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610d4e565b600060405180830381600087803b15801561081d57600080fd5b505af1158015610831573d6000803e3d6000fd5b505060008054925090508061084583610b57565b909155506000979650505050505050565b803563ffffffff8116811461086a57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b50565b600080604083850312156108a757600080fd5b6108b083610856565b915060208301356108c08161086f565b809150509250929050565b60008083601f8401126108dd57600080fd5b50813567ffffffffffffffff8111156108f557600080fd5b60208301915083602082850101111561090d57600080fd5b9250929050565b60008060008060006080868803121561092c57600080fd5b61093586610856565b945060208601356109458161086f565b935060408601356109558161086f565b9250606086013567ffffffffffffffff81111561097157600080fd5b61097d888289016108cb565b969995985093965092949392505050565b6000602082840312156109a057600080fd5b5035919050565b6000815180845260005b818110156109cd576020818501810151868301820152016109b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610a5060808301846109a7565b9695505050505050565b600060208284031215610a6c57600080fd5b610a7582610856565b9392505050565b60008060008060608587031215610a9257600080fd5b610a9b85610856565b935060208501359250604085013567ffffffffffffffff811115610abe57600080fd5b610aca878288016108cb565b95989497509550505050565b600181811c90821680610aea57607f821691505b602082108103610b23577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610b4e60608301846109a7565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610baf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610c2f57600081815260208120601f850160051c81016020861015610c0c5750805b601f850160051c820191505b81811015610c2b57828155600101610c18565b5050505b505050565b815167ffffffffffffffff811115610c4e57610c4e610bb6565b610c6281610c5c8454610ad6565b84610be5565b602080601f831160018114610cb55760008415610c7f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610c2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610d0257888601518255948401946001909101908401610ce3565b5085821015610d3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea26469706673582212207ef6a337219ecd32d676708e4369e0cc2b8a0c8a362f8113747c17fde677812c64736f6c6343000811003360806040523480156200001157600080fd5b506040516200138a3803806200138a833981016040819052620000349162000317565b8062000041338262000049565b505062000349565b600054610100900460ff16158080156200006a5750600054600160ff909116105b806200009a575062000087306200019360201b620009ec1760201c565b1580156200009a575060005460ff166001145b620001035760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000127576000805461ff0019166101001790555b62000131620001a2565b6200013c836200020a565b62000147826200025c565b80156200018e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b600054610100900460ff16620001fe5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208620002b0565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff166200030c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200136a83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000fa565b62000208336200020a565b6000602082840312156200032a57600080fd5b81516001600160a01b03811681146200034257600080fd5b9392505050565b61101180620003596000396000f3fe6080604052600436106100d25760003560e01c80634e71d92d1161007f5780638da5cb5b116100595780638da5cb5b14610259578063a692979314610284578063f2fde38b146102b2578063fe173b97146102d257600080fd5b80634e71d92d146101e657806360fcef7c146101fb578063715018a61461024457600080fd5b80632f202650116100b05780632f2026501461017957806338af3eed14610199578063485cc955146101c657600080fd5b806311bf2c18146100d75780631c31f710146100ec5780631d16c8c81461010c575b600080fd5b6100ea6100e5366004610d83565b6102e7565b005b3480156100f857600080fd5b506100ea610107366004610dc9565b6104d2565b34801561011857600080fd5b5061014f610127366004610de4565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018557600080fd5b506100ea610194366004610dff565b6104e6565b3480156101a557600080fd5b5060665461014f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d257600080fd5b506100ea6101e1366004610e74565b61056c565b3480156101f257600080fd5b506100ea610712565b34801561020757600080fd5b5061021b610216366004610de4565b6107dc565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610170565b34801561025057600080fd5b506100ea61090e565b34801561026557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661014f565b34801561029057600080fd5b506102a461029f366004610ea7565b610922565b604051908152602001610170565b3480156102be57600080fd5b506100ea6102cd366004610dc9565b610938565b3480156102de57600080fd5b506102a4600a81565b60006102f38484610922565b90508034101561038a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60006103968234610f00565b9050801561048f5760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146103f8576040519150601f19603f3d011682016040523d82523d6000602084013e6103fd565b606091505b505090508061048d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c6564000000000000000000000000000000000000000000000000000000006064820152608401610381565b505b604080518581526020810184905287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b6104da610a08565b6104e381610a89565b50565b6104ee610a08565b8060005b818110156105665761055484848381811061050f5761050f610f13565b6105259260206040909202019081019150610de4565b85858481811061053757610537610f13565b905060400201602001602081019061054f9190610dc9565b610b02565b8061055e81610f42565b9150506104f2565b50505050565b600054610100900460ff161580801561058c5750600054600160ff909116105b806105a65750303b1580156105a6575060005460ff166001145b610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610381565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610698610b90565b6106a183610c2f565b6106aa82610a89565b801561070d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d806000811461076c576040519150601f19603f3d011682016040523d82523d6000602084013e610771565b606091505b50509050806104e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e7366657200000000000000000000000000000000000000000000006044820152606401610381565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676173206f7261636c650000000000000000000000000000000000000000006044820152606401610381565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109049190610f9a565b9250925050915091565b610916610a08565b6109206000610c2f565b565b600061092f82600a610fc4565b90505b92915050565b610940610a08565b73ffffffffffffffffffffffffffffffffffffffff81166109e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610381565b6104e381610c2f565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610381565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b63ffffffff821660008181526065602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915591519182527f38b842e116ff320f6a79ba4cf434eee927fa156b226c65c90d62989de589b4e7910160405180910390a25050565b600054610100900460ff16610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b610920610ca6565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610381565b61092033610c2f565b803563ffffffff81168114610d5a57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060008060808587031215610d9957600080fd5b84359350610da960208601610d46565b925060408501359150610dbe60608601610d5f565b905092959194509250565b600060208284031215610ddb57600080fd5b61092f82610d5f565b600060208284031215610df657600080fd5b61092f82610d46565b60008060208385031215610e1257600080fd5b823567ffffffffffffffff80821115610e2a57600080fd5b818501915085601f830112610e3e57600080fd5b813581811115610e4d57600080fd5b8660208260061b8501011115610e6257600080fd5b60209290920196919550909350505050565b60008060408385031215610e8757600080fd5b610e9083610d5f565b9150610e9e60208401610d5f565b90509250929050565b60008060408385031215610eba57600080fd5b610ec383610d46565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561093257610932610ed1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f7357610f73610ed1565b5060010190565b80516fffffffffffffffffffffffffffffffff81168114610d5a57600080fd5b60008060408385031215610fad57600080fd5b610fb683610f7a565b9150610e9e60208401610f7a565b808202811582820484141761093257610932610ed156fea264697066735822122013b0aa02897f995e12f50fe1b7cf610f4ed357aa6adb002dd58e295403b344ba64736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea26469706673582212209ad0ad937c4ecc62cd0ff6fbc0e30e5c6f1461a505d385a10bde27a54694b1e264736f6c63430008110033608060405234801561001057600080fd5b506125e4806100206000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80638da5cb5b116100b2578063e9198bf911610081578063f2fde38b11610066578063f2fde38b1461028d578063f3c61d6b146102a0578063f8c8765e146102b357600080fd5b8063e9198bf914610267578063f1bd6f0a1461027a57600080fd5b80638da5cb5b146101f6578063b49c53a714610214578063d5438eae14610227578063de523cf31461024757600080fd5b8063440df4f4116100ee578063440df4f4146101b357806356d5d475146101c8578063715018a6146101db5780638cc02cab146101e357600080fd5b80630e72cc06146101205780632222b452146101355780632ead72f61461015b57806339bb4ad91461016e575b600080fd5b61013361012e36600461183e565b6102c6565b005b6101486101433660046119a2565b6102da565b6040519081526020015b60405180910390f35b610148610169366004611a27565b61032d565b60665461018e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b6101bb61036f565b6040516101529190611a42565b6101336101d6366004611a8c565b61042a565b610133610522565b6101486101f1366004611b5f565b610536565b60335473ffffffffffffffffffffffffffffffffffffffff1661018e565b610133610222366004611bb2565b610582565b60655461018e9073ffffffffffffffffffffffffffffffffffffffff1681565b60675461018e9073ffffffffffffffffffffffffffffffffffffffff1681565b610133610275366004611bdc565b610598565b61013361028836600461183e565b610675565b61013361029b36600461183e565b610686565b6101336102ae36600461183e565b61073a565b6101336102c1366004611c48565b61074b565b6102ce6108e4565b6102d781610965565b50565b604051600090339063ffffffff8716907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e5908490a36103248561031f33878787610a73565b610b27565b95945050505050565b6000610343609863ffffffff80851690610bd116565b156103625761035c609863ffffffff80851690610be416565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156103925761039261186d565b6040519080825280602002602001820160405280156103bb578160200160208202803683370190505b50905060005b8254811015610423578281815481106103dc576103dc611c9c565b906000526020600020015460001c8282815181106103fc576103fc611c9c565b63ffffffff909216602092830291909101909101528061041b81611cfa565b9150506103c1565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f7800000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b83836104bc8282610bf0565b604051806080016040528060438152602001612547604391399061050d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a79190611da0565b5061051a86868686610c04565b505050505050565b61052a6108e4565b6105346000610d28565b565b604051600090339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e5908490a361057a8461031f338686610d9f565b949350505050565b61058a6108e4565b6105948282610dd1565b5050565b6105a06108e4565b828114610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016104a7565b60005b8381101561066e5761065c85858381811061062957610629611c9c565b905060200201602081019061063e9190611a27565b84848481811061065057610650611c9c565b90506020020135610dd1565b610667600182611db3565b905061060c565b5050505050565b61067d6108e4565b6102d781610e2b565b61068e6108e4565b73ffffffffffffffffffffffffffffffffffffffff8116610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104a7565b6102d781610d28565b6107426108e4565b6102d781610f1a565b600054610100900460ff161580801561076b5750600054600160ff909116105b806107855750303b158015610785575060005460ff166001145b610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561086f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61087b85858585611009565b801561066e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a7565b73ffffffffffffffffffffffffffffffffffffffff8116158061099e575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610a04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e7472616374000000000000000000000000000000000000000000000060448201526064016104a7565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b60408051600180825281830190925260609160009190816020015b610ab96040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610a8e579050509050610ad98585856110ca565b81600081518110610aec57610aec611c9c565b602002602001018190525085600082604051602001610b0d93929190611e30565b604051602081830303815290604052915050949350505050565b600080610b338461111a565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610b8e90879085908890600401611efb565b6020604051808303816000875af1158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a9190611f20565b6000610bdd8383611185565b9392505050565b6000610bdd8383611191565b600081610bfc8461032d565b149392505050565b6000610c10838361121b565b90506000610c1e8484611255565b90506000826001811115610c3457610c34611dc6565b03610c9e576000610c45858561126d565b90506000610c52826112a5565b9050828863ffffffff167fb689f7016112eaacc7edebd6ea5eb700790a103e79c39ce0118e075de87d797660405160405180910390a3610c968861031f8584611350565b50505061051a565b6001826001811115610cb257610cb2611dc6565b03610d2057806000610cc4868661137f565b9050610cd082826113b7565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8a16907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a3505061051a565b61051a611f39565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60608360008484604051602001610db99493929190612052565b60405160208183030381529060405290509392505050565b610de7609863ffffffff8085169084906113f416565b8163ffffffff167f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645882604051610e1f91815260200190565b60405180910390a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610eaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e7472616374000000000000000000000000000000000000000000000060448201526064016104a7565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610f99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e7472616374000000000000000000000000000000000000000000000060448201526064016104a7565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff166110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a7565b6110a984610f1a565b6110b283610e2b565b6110bb82610965565b6110c481610d28565b50505050565b6110f56040805160808101825260009181019182526060808201529081908152602001606081525090565b604051806040016040528061110a86866113ff565b8152602001929092525092915050565b60006111258261032d565b90506000801b811415604051806080016040528060438152602001612547604391399061117f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a79190611da0565b50919050565b6000610bdd8383611451565b6000818152600283016020526040812054801515806111b557506111b58484611185565b610bdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016104a7565b6000828261122b6001604061212d565b81811061123a5761123a611c9c565b919091013560f81c90506001811115610bdd57610bdd611dc6565b60006112646020828486612140565b610bdd9161216a565b6060600061127b848461121b565b600181111561128c5761128c611dc6565b1461129957611299611f39565b610324828401846121d9565b8051606090600090818167ffffffffffffffff8111156112c7576112c761186d565b6040519080825280602002602001820160405280156112fa57816020015b60608152602001906001900390816112e55790505b5090505b8183101561057a5761132885848151811061131b5761131b611c9c565b6020026020010151611469565b81848151811061133a5761133a611c9c565b60200260200101819052508260010192506112fe565b60608260018360405160200161136893929190612398565b604051602081830303815290604052905092915050565b6060600161138d848461121b565b600181111561139e5761139e611dc6565b146113ab576113ab611f39565b6103248284018461242e565b80516000905b808210156110c4576113e8848484815181106113db576113db611c9c565b60200260200101516114a4565b508160010191506113bd565b6110c48383836114e8565b6040805180820182526000808252606060208084018290528451808601865292835291820152825180840190935273ffffffffffffffffffffffffffffffffffffffff85168352820183905290610bdd565b60008181526001830160205260408120541515610bdd565b6060816020015161147d8360000151611505565b60405160200161148e9291906124fb565b6040516020818303038152906040529050919050565b6060610bdd838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611518565b6000828152600284016020526040812082905561057a8484611631565b805160609061035c90836020015161163d565b6060824710156115aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104a7565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115d3919061252a565b60006040518083038185875af1925050503d8060008114611610576040519150601f19603f3d011682016040523d82523d6000602084013e611615565b606091505b509150915061162687838387611662565b979650505050505050565b6000610bdd8383611702565b6060610bdd838360405180606001604052806025815260200161258a60259139611751565b606083156116f85782516000036116f15773ffffffffffffffffffffffffffffffffffffffff85163b6116f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a7565b508161057a565b61057a83836117d6565b60008181526001830160205260408120546117495750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561035c565b50600061035c565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161177b919061252a565b600060405180830381855afa9150503d80600081146117b6576040519150601f19603f3d011682016040523d82523d6000602084013e6117bb565b606091505b50915091506117cc86838387611662565b9695505050505050565b8151156117e65781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a79190611da0565b803573ffffffffffffffffffffffffffffffffffffffff8116811461036a57600080fd5b60006020828403121561185057600080fd5b610bdd8261181a565b803563ffffffff8116811461036a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156118bf576118bf61186d565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561190c5761190c61186d565b604052919050565b600082601f83011261192557600080fd5b813567ffffffffffffffff81111561193f5761193f61186d565b61197060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016118c5565b81815284602083860101111561198557600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156119b857600080fd5b6119c185611859565b93506119cf6020860161181a565b9250604085013567ffffffffffffffff808211156119ec57600080fd5b6119f888838901611914565b93506060870135915080821115611a0e57600080fd5b50611a1b87828801611914565b91505092959194509250565b600060208284031215611a3957600080fd5b610bdd82611859565b6020808252825182820181905260009190848201906040850190845b81811015611a8057835163ffffffff1683529284019291840191600101611a5e565b50909695505050505050565b60008060008060608587031215611aa257600080fd5b611aab85611859565b935060208501359250604085013567ffffffffffffffff80821115611acf57600080fd5b818701915087601f830112611ae357600080fd5b813581811115611af257600080fd5b886020828501011115611b0457600080fd5b95989497505060200194505050565b60008083601f840112611b2557600080fd5b50813567ffffffffffffffff811115611b3d57600080fd5b6020830191508360208260051b8501011115611b5857600080fd5b9250929050565b600080600060408486031215611b7457600080fd5b611b7d84611859565b9250602084013567ffffffffffffffff811115611b9957600080fd5b611ba586828701611b13565b9497909650939450505050565b60008060408385031215611bc557600080fd5b611bce83611859565b946020939093013593505050565b60008060008060408587031215611bf257600080fd5b843567ffffffffffffffff80821115611c0a57600080fd5b611c1688838901611b13565b90965094506020870135915080821115611c2f57600080fd5b50611c3c87828801611b13565b95989497509550505050565b60008060008060808587031215611c5e57600080fd5b611c678561181a565b9350611c756020860161181a565b9250611c836040860161181a565b9150611c916060860161181a565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d2b57611d2b611ccb565b5060010190565b60005b83811015611d4d578181015183820152602001611d35565b50506000910152565b60008151808452611d6e816020860160208601611d32565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610bdd6020830184611d56565b8082018082111561035c5761035c611ccb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611e2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600060608083018684526020611e4881860188611df5565b60408381870152828751808552608094508488019150848160051b890101848a0160005b83811015611ee9578a83037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80018552815180518785528051888601528801518a8501889052611ebd8a860182611d56565b91890151858303868b0152919050611ed58183611d56565b968901969450505090860190600101611e6c565b50909c9b505050505050505050505050565b63ffffffff841681528260208201526060604082015260006103246060830184611d56565b600060208284031215611f3257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112611f9c57600080fd5b90910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611fda57600080fd5b830160208101925035905067ffffffffffffffff811115611ffa57600080fd5b803603821315611b5857600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006060808301878452602061206a81860189611df5565b604085810184905291869052608091828601600588901b870184018960005b8a811015611ee9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a84030184526120c2828d611f68565b6120cc8182611f68565b8685528035878601526120e188820182611fa5565b9150878b8701526120f58a87018383612009565b91505061210488830183611fa5565b925085820389870152612118828483612009565b96890196955050509186019150600101612089565b8181038181111561035c5761035c611ccb565b6000808585111561215057600080fd5b8386111561215d57600080fd5b5050820193919092039150565b8035602083101561035c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b80356002811061036a57600080fd5b600067ffffffffffffffff8211156121cf576121cf61186d565b5060051b60200190565b6000806000606084860312156121ee57600080fd5b833592506121fe602085016121a6565b915067ffffffffffffffff6040850135111561221957600080fd5b6040840135840185601f82011261222f57600080fd5b61224161223c82356121b5565b6118c5565b81358082526020808301929160051b84010188101561225f57600080fd5b602083015b6020843560051b85010181101561238a5767ffffffffffffffff8135111561228b57600080fd5b803584017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604081838d030112156122c257600080fd5b6122ca61189c565b67ffffffffffffffff602084013511156122e357600080fd5b60208301358301604083828f030112156122fc57600080fd5b61230461189c565b92506020810135835267ffffffffffffffff6040820135111561232657600080fd5b6123398d60206040840135840101611914565b60208401525081815267ffffffffffffffff6040840135111561235b57600080fd5b61236e8c60206040860135860101611914565b6020820152808652505050602083019250602081019050612264565b508093505050509250925092565b60006060820185835260206123af81850187611df5565b6060604085015281855180845260808601915060808160051b870101935082870160005b8281101561241f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8088870301845261240d868351611d56565b955092840192908401906001016123d3565b50939998505050505050505050565b60008060006060848603121561244357600080fd5b8335925060206124548186016121a6565b9250604085013567ffffffffffffffff8082111561247157600080fd5b818701915087601f83011261248557600080fd5b813561249361223c826121b5565b81815260059190911b8301840190848101908a8311156124b257600080fd5b8585015b838110156124ea578035858111156124ce5760008081fd5b6124dc8d89838a0101611914565b8452509186019186016124b6565b508096505050505050509250925092565b6000835161250d818460208801611d32565b835190830190612521818360208801611d32565b01949350505050565b6000825161253c818460208701611d32565b919091019291505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443f416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a2646970667358221220e53e3fa8afe4048f4779751128d854cd8f9da1bf8f3e9c67fe4d22573652a59864736f6c63430008110033";
|
|
115
115
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
116
116
|
class MockHyperlaneEnvironment__factory extends ethers_1.ContractFactory {
|
|
117
117
|
constructor(...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockHyperlaneEnvironment__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockHyperlaneEnvironment__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAU/C,mCAOgB;AAEhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,qCAAqC;gBACnD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,SAAS,GACb,
|
|
1
|
+
{"version":3,"file":"MockHyperlaneEnvironment__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockHyperlaneEnvironment__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAU/C,mCAOgB;AAEhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,qCAAqC;gBACnD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,SAAS,GACb,8s0CAA8s0C,CAAC;AAMjt0C,MAAM,WAAW,GAAG,CAClB,EAA6C,EACQ,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,iCAAkC,SAAQ,wBAAe;IACpE,YAAY,GAAG,IAA+C;QAC5D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;aAAM;YACL,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAEQ,MAAM,CACb,aAA2B,EAC3B,kBAAgC,EAChC,SAA2D;QAE3D,OAAO,KAAK,CAAC,MAAM,CACjB,aAAa,EACb,kBAAkB,EAClB,SAAS,IAAI,EAAE,CACqB,CAAC;IACzC,CAAC;IACQ,oBAAoB,CAC3B,aAA2B,EAC3B,kBAAgC,EAChC,SAA2D;QAE3D,OAAO,KAAK,CAAC,oBAAoB,CAC/B,aAAa,EACb,kBAAkB,EAClB,SAAS,IAAI,EAAE,CAChB,CAAC;IACJ,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAA6B,CAAC;IAC3D,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAsC,CAAC;IACpE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAAsC,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,gBAAgB,CACW,CAAC;IAChC,CAAC;;AApDH,8EAqDC;AAfiB,0CAAQ,GAAG,SAAS,CAAC;AACrB,qCAAG,GAAG,IAAI,CAAC"}
|
|
@@ -12,7 +12,7 @@ export declare class MockMailbox__factory extends ContractFactory {
|
|
|
12
12
|
}): TransactionRequest;
|
|
13
13
|
attach(address: string): MockMailbox;
|
|
14
14
|
connect(signer: Signer): MockMailbox__factory;
|
|
15
|
-
static readonly bytecode = "
|
|
15
|
+
static readonly bytecode = "0x60c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610eb1380380610eb18339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610e096100a8600039600061026801526000818161017601526107d30152610e096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610247578063fd10ebe51461025a578063ffa1ad741461026357600080fd5b806392d28b3d146101c0578063a3b4919f146101e3578063d12164e41461023e57600080fd5b80638209d312116100b25780638209d312146101685780638d3638f414610171578063924324aa146101ad57600080fd5b80631605c306146100d9578063522ae002146100e357806359b3f6e0146100ff575b600080fd5b6100e161028a565b005b6100ec61080081565b6040519081526020015b60405180910390f35b6100e161010d366004610894565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6100ec60015481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f6565b6100e16101bb366004610914565b61044e565b6101d36101ce36600461098e565b6105ad565b6040516100f69493929190610a0b565b6102196101f1366004610a5a565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f6565b6100ec60025481565b6100ec610255366004610a7c565b610683565b6100ec60005481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169482019490945260018201549093169183019190915292830180549293919260608401919061030090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461032c90610ad6565b80156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103e0846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b815260040161040393929190610b29565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b50506002805492509050600061044683610b57565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061058e9082610c34565b505060018054915060006105a183610b57565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff90811694931692919061060090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610ad6565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905084565b60006108008211156106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e67000000000000000000000000000000000000000060448201526064015b60405180910390fd5b63ffffffff851660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064016106ed565b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610803907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610d4e565b600060405180830381600087803b15801561081d57600080fd5b505af1158015610831573d6000803e3d6000fd5b505060008054925090508061084583610b57565b909155506000979650505050505050565b803563ffffffff8116811461086a57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b50565b600080604083850312156108a757600080fd5b6108b083610856565b915060208301356108c08161086f565b809150509250929050565b60008083601f8401126108dd57600080fd5b50813567ffffffffffffffff8111156108f557600080fd5b60208301915083602082850101111561090d57600080fd5b9250929050565b60008060008060006080868803121561092c57600080fd5b61093586610856565b945060208601356109458161086f565b935060408601356109558161086f565b9250606086013567ffffffffffffffff81111561097157600080fd5b61097d888289016108cb565b969995985093965092949392505050565b6000602082840312156109a057600080fd5b5035919050565b6000815180845260005b818110156109cd576020818501810151868301820152016109b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610a5060808301846109a7565b9695505050505050565b600060208284031215610a6c57600080fd5b610a7582610856565b9392505050565b60008060008060608587031215610a9257600080fd5b610a9b85610856565b935060208501359250604085013567ffffffffffffffff811115610abe57600080fd5b610aca878288016108cb565b95989497509550505050565b600181811c90821680610aea57607f821691505b602082108103610b23577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610b4e60608301846109a7565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610baf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610c2f57600081815260208120601f850160051c81016020861015610c0c5750805b601f850160051c820191505b81811015610c2b57828155600101610c18565b5050505b505050565b815167ffffffffffffffff811115610c4e57610c4e610bb6565b610c6281610c5c8454610ad6565b84610be5565b602080601f831160018114610cb55760008415610c7f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610c2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610d0257888601518255948401946001909101908401610ce3565b5085821015610d3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea26469706673582212207ef6a337219ecd32d676708e4369e0cc2b8a0c8a362f8113747c17fde677812c64736f6c63430008110033";
|
|
16
16
|
static readonly abi: ({
|
|
17
17
|
inputs: {
|
|
18
18
|
internalType: string;
|
|
@@ -229,7 +229,7 @@ const _abi = [
|
|
|
229
229
|
type: "function",
|
|
230
230
|
},
|
|
231
231
|
];
|
|
232
|
-
const _bytecode = "
|
|
232
|
+
const _bytecode = "0x60c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610eb1380380610eb18339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610e096100a8600039600061026801526000818161017601526107d30152610e096000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610247578063fd10ebe51461025a578063ffa1ad741461026357600080fd5b806392d28b3d146101c0578063a3b4919f146101e3578063d12164e41461023e57600080fd5b80638209d312116100b25780638209d312146101685780638d3638f414610171578063924324aa146101ad57600080fd5b80631605c306146100d9578063522ae002146100e357806359b3f6e0146100ff575b600080fd5b6100e161028a565b005b6100ec61080081565b6040519081526020015b60405180910390f35b6100e161010d366004610894565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6100ec60015481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f6565b6100e16101bb366004610914565b61044e565b6101d36101ce36600461098e565b6105ad565b6040516100f69493929190610a0b565b6102196101f1366004610a5a565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f6565b6100ec60025481565b6100ec610255366004610a7c565b610683565b6100ec60005481565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169482019490945260018201549093169183019190915292830180549293919260608401919061030090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461032c90610ad6565b80156103795780601f1061034e57610100808354040283529160200191610379565b820191906000526020600020905b81548152906001019060200180831161035c57829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103e0846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b815260040161040393929190610b29565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b50506002805492509050600061044683610b57565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061058e9082610c34565b505060018054915060006105a183610b57565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff90811694931692919061060090610ad6565b80601f016020809104026020016040519081016040528092919081815260200182805461062c90610ad6565b80156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050905084565b60006108008211156106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e67000000000000000000000000000000000000000060448201526064015b60405180910390fd5b63ffffffff851660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064016106ed565b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610803907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610d4e565b600060405180830381600087803b15801561081d57600080fd5b505af1158015610831573d6000803e3d6000fd5b505060008054925090508061084583610b57565b909155506000979650505050505050565b803563ffffffff8116811461086a57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b50565b600080604083850312156108a757600080fd5b6108b083610856565b915060208301356108c08161086f565b809150509250929050565b60008083601f8401126108dd57600080fd5b50813567ffffffffffffffff8111156108f557600080fd5b60208301915083602082850101111561090d57600080fd5b9250929050565b60008060008060006080868803121561092c57600080fd5b61093586610856565b945060208601356109458161086f565b935060408601356109558161086f565b9250606086013567ffffffffffffffff81111561097157600080fd5b61097d888289016108cb565b969995985093965092949392505050565b6000602082840312156109a057600080fd5b5035919050565b6000815180845260005b818110156109cd576020818501810151868301820152016109b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610a5060808301846109a7565b9695505050505050565b600060208284031215610a6c57600080fd5b610a7582610856565b9392505050565b60008060008060608587031215610a9257600080fd5b610a9b85610856565b935060208501359250604085013567ffffffffffffffff811115610abe57600080fd5b610aca878288016108cb565b95989497509550505050565b600181811c90821680610aea57607f821691505b602082108103610b23577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610b4e60608301846109a7565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610baf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610c2f57600081815260208120601f850160051c81016020861015610c0c5750805b601f850160051c820191505b81811015610c2b57828155600101610c18565b5050505b505050565b815167ffffffffffffffff811115610c4e57610c4e610bb6565b610c6281610c5c8454610ad6565b84610be5565b602080601f831160018114610cb55760008415610c7f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610c2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610d0257888601518255948401946001909101908401610ce3565b5085821015610d3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea26469706673582212207ef6a337219ecd32d676708e4369e0cc2b8a0c8a362f8113747c17fde677812c64736f6c63430008110033";
|
|
233
233
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
234
234
|
class MockMailbox__factory extends ethers_1.ContractFactory {
|
|
235
235
|
constructor(...args) {
|
|
@@ -12,7 +12,7 @@ export declare class MockPortalBridge__factory extends ContractFactory {
|
|
|
12
12
|
}): TransactionRequest;
|
|
13
13
|
attach(address: string): MockPortalBridge;
|
|
14
14
|
connect(signer: Signer): MockPortalBridge__factory;
|
|
15
|
-
static readonly bytecode = "
|
|
15
|
+
static readonly bytecode = "0x60806040526000805534801561001457600080fd5b50604051610b87380380610b8783398101604081905261003391610058565b600180546001600160a01b0319166001600160a01b0392909216919091179055610088565b60006020828403121561006a57600080fd5b81516001600160a01b038116811461008157600080fd5b9392505050565b610af0806100976000396000f3fe6080604052600436106100705760003560e01c80639fe6f25b1161004e5780639fe6f25b1461011d578063c3f511c11461013d578063c5a5ebda1461015d578063ea63738d1461018957600080fd5b80631a2be4da146100755780631ff1e286146100ab5780638c2a672b146100f0575b600080fd5b34801561008157600080fd5b50610096610090366004610587565b50600190565b60405190151581526020015b60405180910390f35b3480156100b757600080fd5b506100cb6100c63660046105bb565b6101b6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a2565b3480156100fc57600080fd5b5061011061010b366004610624565b6101d6565b6040516100a291906106d9565b34801561012957600080fd5b506101106101383660046106ec565b61024a565b34801561014957600080fd5b50610110610158366004610847565b610291565b61017061016b366004610884565b6103ac565b60405167ffffffffffffffff90911681526020016100a2565b34801561019557600080fd5b506101a96101a4366004610847565b6104f2565b6040516100a29190610907565b60015473ffffffffffffffffffffffffffffffffffffffff165b92915050565b6060838373ffffffffffffffffffffffffffffffffffffffff84166040805163ffffffff90941660208501527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092169183019190915260608201526080015b60405160208183030381529060405290509392505050565b6040805163ffffffff851660208201527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841691810191909152606081810183905290608001610232565b60606000806000848060200190518101906102ac919061097f565b6001546040517f40c10f1900000000000000000000000000000000000000000000000000000000815233600482015260248101839052939650919450925073ffffffffffffffffffffffffffffffffffffffff16906340c10f1990604401600060405180830381600087803b15801561032457600080fd5b505af1158015610338573d6000803e3d6000fd5b505060015473ffffffffffffffffffffffffffffffffffffffff16915061035c9050565b600154610382908590859073ffffffffffffffffffffffffffffffffffffffff166101d6565b6040516020016103939291906109c2565b6040516020818303038152906040529350505050919050565b600080546103bb9060016109db565b6000556001546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810188905273ffffffffffffffffffffffffffffffffffffffff909116906323b872dd906064016020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190610a15565b506001546040517f42966c680000000000000000000000000000000000000000000000000000000081526004810188905273ffffffffffffffffffffffffffffffffffffffff909116906342966c6890602401600060405180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b50506000549998505050505050505050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082019290925260e08101919091526000808380602001905181019061054c9190610a37565b60e08501526040840152509092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461058257600080fd5b919050565b60006020828403121561059957600080fd5b6105a28261055e565b9392505050565b803561ffff8116811461058257600080fd5b600080604083850312156105ce57600080fd5b6105d7836105a9565b946020939093013593505050565b63ffffffff811681146105f757600080fd5b50565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146105f757600080fd5b60008060006060848603121561063957600080fd5b8335610644816105e5565b92506020840135610654816105fa565b91506106626040850161055e565b90509250925092565b60005b8381101561068657818101518382015260200161066e565b50506000910152565b600081518084526106a781602086016020860161066b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105a2602083018461068f565b60008060006060848603121561070157600080fd5b833561070c816105e5565b9250602084013561071c816105fa565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156107a3576107a361072d565b604052919050565b600067ffffffffffffffff8211156107c5576107c561072d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261080257600080fd5b8135610815610810826107ab565b61075c565b81815284602083860101111561082a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561085957600080fd5b813567ffffffffffffffff81111561087057600080fd5b61087c848285016107f1565b949350505050565b60008060008060008060c0878903121561089d57600080fd5b6108a68761055e565b9550602087013594506108bb604088016105a9565b93506060870135925060808701356108d2816105e5565b915060a087013567ffffffffffffffff8111156108ee57600080fd5b6108fa89828a016107f1565b9150509295509295509295565b6020815260ff8251166020820152602082015160408201526040820151606082015261ffff6060830151166080820152608082015160a0820152600060a083015161095860c084018261ffff169052565b5060c083015160e083015260e083015161010080818501525061087c61012084018261068f565b60008060006060848603121561099457600080fd5b835161099f816105e5565b60208501519093506109b0816105fa565b80925050604084015190509250925092565b82815260406020820152600061087c604083018461068f565b808201808211156101d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215610a2757600080fd5b815180151581146105a257600080fd5b60008060408385031215610a4a57600080fd5b82519150602083015167ffffffffffffffff811115610a6857600080fd5b8301601f81018513610a7957600080fd5b8051610a87610810826107ab565b818152866020838501011115610a9c57600080fd5b610aad82602083016020860161066b565b809350505050925092905056fea2646970667358221220eeb55e83b88e81321cc132335a031a012f63ca1a5bbfdebcaa584bcb6e5ee01e64736f6c63430008110033";
|
|
16
16
|
static readonly abi: ({
|
|
17
17
|
inputs: {
|
|
18
18
|
internalType: string;
|
|
@@ -260,7 +260,7 @@ const _abi = [
|
|
|
260
260
|
type: "function",
|
|
261
261
|
},
|
|
262
262
|
];
|
|
263
|
-
const _bytecode = "
|
|
263
|
+
const _bytecode = "0x60806040526000805534801561001457600080fd5b50604051610b87380380610b8783398101604081905261003391610058565b600180546001600160a01b0319166001600160a01b0392909216919091179055610088565b60006020828403121561006a57600080fd5b81516001600160a01b038116811461008157600080fd5b9392505050565b610af0806100976000396000f3fe6080604052600436106100705760003560e01c80639fe6f25b1161004e5780639fe6f25b1461011d578063c3f511c11461013d578063c5a5ebda1461015d578063ea63738d1461018957600080fd5b80631a2be4da146100755780631ff1e286146100ab5780638c2a672b146100f0575b600080fd5b34801561008157600080fd5b50610096610090366004610587565b50600190565b60405190151581526020015b60405180910390f35b3480156100b757600080fd5b506100cb6100c63660046105bb565b6101b6565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a2565b3480156100fc57600080fd5b5061011061010b366004610624565b6101d6565b6040516100a291906106d9565b34801561012957600080fd5b506101106101383660046106ec565b61024a565b34801561014957600080fd5b50610110610158366004610847565b610291565b61017061016b366004610884565b6103ac565b60405167ffffffffffffffff90911681526020016100a2565b34801561019557600080fd5b506101a96101a4366004610847565b6104f2565b6040516100a29190610907565b60015473ffffffffffffffffffffffffffffffffffffffff165b92915050565b6060838373ffffffffffffffffffffffffffffffffffffffff84166040805163ffffffff90941660208501527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092169183019190915260608201526080015b60405160208183030381529060405290509392505050565b6040805163ffffffff851660208201527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841691810191909152606081810183905290608001610232565b60606000806000848060200190518101906102ac919061097f565b6001546040517f40c10f1900000000000000000000000000000000000000000000000000000000815233600482015260248101839052939650919450925073ffffffffffffffffffffffffffffffffffffffff16906340c10f1990604401600060405180830381600087803b15801561032457600080fd5b505af1158015610338573d6000803e3d6000fd5b505060015473ffffffffffffffffffffffffffffffffffffffff16915061035c9050565b600154610382908590859073ffffffffffffffffffffffffffffffffffffffff166101d6565b6040516020016103939291906109c2565b6040516020818303038152906040529350505050919050565b600080546103bb9060016109db565b6000556001546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810188905273ffffffffffffffffffffffffffffffffffffffff909116906323b872dd906064016020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190610a15565b506001546040517f42966c680000000000000000000000000000000000000000000000000000000081526004810188905273ffffffffffffffffffffffffffffffffffffffff909116906342966c6890602401600060405180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b50506000549998505050505050505050565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082019290925260e08101919091526000808380602001905181019061054c9190610a37565b60e08501526040840152509092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461058257600080fd5b919050565b60006020828403121561059957600080fd5b6105a28261055e565b9392505050565b803561ffff8116811461058257600080fd5b600080604083850312156105ce57600080fd5b6105d7836105a9565b946020939093013593505050565b63ffffffff811681146105f757600080fd5b50565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146105f757600080fd5b60008060006060848603121561063957600080fd5b8335610644816105e5565b92506020840135610654816105fa565b91506106626040850161055e565b90509250925092565b60005b8381101561068657818101518382015260200161066e565b50506000910152565b600081518084526106a781602086016020860161066b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105a2602083018461068f565b60008060006060848603121561070157600080fd5b833561070c816105e5565b9250602084013561071c816105fa565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156107a3576107a361072d565b604052919050565b600067ffffffffffffffff8211156107c5576107c561072d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261080257600080fd5b8135610815610810826107ab565b61075c565b81815284602083860101111561082a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561085957600080fd5b813567ffffffffffffffff81111561087057600080fd5b61087c848285016107f1565b949350505050565b60008060008060008060c0878903121561089d57600080fd5b6108a68761055e565b9550602087013594506108bb604088016105a9565b93506060870135925060808701356108d2816105e5565b915060a087013567ffffffffffffffff8111156108ee57600080fd5b6108fa89828a016107f1565b9150509295509295509295565b6020815260ff8251166020820152602082015160408201526040820151606082015261ffff6060830151166080820152608082015160a0820152600060a083015161095860c084018261ffff169052565b5060c083015160e083015260e083015161010080818501525061087c61012084018261068f565b60008060006060848603121561099457600080fd5b835161099f816105e5565b60208501519093506109b0816105fa565b80925050604084015190509250925092565b82815260406020820152600061087c604083018461068f565b808201808211156101d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215610a2757600080fd5b815180151581146105a257600080fd5b60008060408385031215610a4a57600080fd5b82519150602083015167ffffffffffffffff811115610a6857600080fd5b8301601f81018513610a7957600080fd5b8051610a87610810826107ab565b818152866020838501011115610a9c57600080fd5b610aad82602083016020860161066b565b809350505050925092905056fea2646970667358221220eeb55e83b88e81321cc132335a031a012f63ca1a5bbfdebcaa584bcb6e5ee01e64736f6c63430008110033";
|
|
264
264
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
265
265
|
class MockPortalBridge__factory extends ethers_1.ContractFactory {
|
|
266
266
|
constructor(...args) {
|