@hyperlane-xyz/core 1.0.0 → 1.1.0-beta0
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/Mailbox.sol +0 -1
- package/contracts/OwnableMulticall.sol +6 -37
- package/contracts/ValidatorAnnounce.sol +117 -0
- package/contracts/{InterchainGasPaymaster.sol → igps/InterchainGasPaymaster.sol} +3 -3
- package/contracts/igps/OverheadIgp.sol +133 -0
- package/contracts/libs/Call.sol +54 -0
- package/contracts/libs/ValidatorAnnouncements.sol +35 -0
- package/contracts/middleware/InterchainAccountRouter.sol +7 -6
- package/contracts/middleware/InterchainQueryRouter.sol +17 -14
- package/contracts/mock/MockHyperlaneEnvironment.sol +1 -1
- package/contracts/mock/MockMailbox.sol +4 -4
- package/contracts/test/LightTestRecipient.sol +12 -0
- package/contracts/test/TestQuery.sol +3 -6
- package/contracts/test/TestQuerySender.sol +48 -19
- package/contracts/test/TestRecipient.sol +1 -1
- package/dist/contracts/OwnableMulticall.d.ts +16 -14
- package/dist/contracts/OwnableMulticall.d.ts.map +1 -1
- package/dist/contracts/ValidatorAnnounce.d.ts +98 -0
- package/dist/contracts/ValidatorAnnounce.d.ts.map +1 -0
- package/dist/contracts/ValidatorAnnounce.js +4 -0
- package/dist/contracts/ValidatorAnnounce.js.map +1 -0
- package/dist/contracts/{InterchainGasPaymaster.d.ts → igps/InterchainGasPaymaster.d.ts} +1 -1
- package/dist/contracts/igps/InterchainGasPaymaster.d.ts.map +1 -0
- package/dist/contracts/{InterchainGasPaymaster.js → igps/InterchainGasPaymaster.js} +0 -0
- package/dist/contracts/igps/InterchainGasPaymaster.js.map +1 -0
- package/dist/contracts/igps/OverheadIgp.d.ts +177 -0
- package/dist/contracts/igps/OverheadIgp.d.ts.map +1 -0
- package/dist/contracts/igps/OverheadIgp.js +4 -0
- package/dist/contracts/igps/OverheadIgp.js.map +1 -0
- package/dist/contracts/igps/index.d.ts +3 -0
- package/dist/contracts/igps/index.d.ts.map +1 -0
- package/dist/contracts/igps/index.js +3 -0
- package/dist/contracts/igps/index.js.map +1 -0
- package/dist/contracts/index.d.ts +3 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts +16 -14
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts +22 -20
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
- package/dist/contracts/mock/MockMailbox.d.ts +17 -17
- package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
- package/dist/contracts/test/LightTestRecipient.d.ts +155 -0
- package/dist/contracts/test/LightTestRecipient.d.ts.map +1 -0
- package/dist/contracts/test/LightTestRecipient.js +4 -0
- package/dist/contracts/test/LightTestRecipient.js.map +1 -0
- package/dist/contracts/test/TestQuerySender.d.ts +29 -38
- package/dist/contracts/test/TestQuerySender.d.ts.map +1 -1
- package/dist/contracts/test/index.d.ts +1 -0
- package/dist/contracts/test/index.d.ts.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 +1 -1
- package/dist/factories/contracts/OwnableMulticall__factory.d.ts.map +1 -1
- package/dist/factories/contracts/OwnableMulticall__factory.js +2 -2
- package/dist/factories/contracts/OwnableMulticall__factory.js.map +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +59 -0
- package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts.map +1 -0
- package/dist/factories/contracts/ValidatorAnnounce__factory.js +158 -0
- package/dist/factories/contracts/ValidatorAnnounce__factory.js.map +1 -0
- package/dist/factories/contracts/{InterchainGasPaymaster__factory.d.ts → igps/InterchainGasPaymaster__factory.d.ts} +2 -2
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.d.ts.map +1 -0
- package/dist/factories/contracts/{InterchainGasPaymaster__factory.js → igps/InterchainGasPaymaster__factory.js} +1 -1
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.js.map +1 -0
- package/dist/factories/contracts/igps/OverheadIgp__factory.d.ts +75 -0
- package/dist/factories/contracts/igps/OverheadIgp__factory.d.ts.map +1 -0
- package/dist/factories/contracts/igps/OverheadIgp__factory.js +256 -0
- package/dist/factories/contracts/igps/OverheadIgp__factory.js.map +1 -0
- package/dist/factories/contracts/igps/index.d.ts +3 -0
- package/dist/factories/contracts/igps/index.d.ts.map +1 -0
- package/dist/factories/contracts/igps/index.js +11 -0
- package/dist/factories/contracts/igps/index.js.map +1 -0
- package/dist/factories/contracts/index.d.ts +2 -1
- package/dist/factories/contracts/index.d.ts.map +1 -1
- package/dist/factories/contracts/index.js +4 -3
- package/dist/factories/contracts/index.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +2 -2
- 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 +3 -3
- 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.js +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.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js +27 -27
- package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +55 -0
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/test/LightTestRecipient__factory.js +210 -0
- package/dist/factories/contracts/test/LightTestRecipient__factory.js.map +1 -0
- 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/TestQuerySender__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.js +24 -17
- package/dist/factories/contracts/test/TestQuerySender__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/index.d.ts +1 -0
- package/dist/factories/contracts/test/index.d.ts.map +1 -1
- package/dist/factories/contracts/test/index.js +3 -1
- package/dist/factories/contracts/test/index.js.map +1 -1
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +1 -1
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.js +2 -2
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.js.map +1 -1
- package/dist/factories/interfaces/IValidatorAnnounce__factory.d.ts +23 -0
- package/dist/factories/interfaces/IValidatorAnnounce__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/IValidatorAnnounce__factory.js +105 -0
- package/dist/factories/interfaces/IValidatorAnnounce__factory.js.map +1 -0
- package/dist/factories/interfaces/index.d.ts +1 -0
- package/dist/factories/interfaces/index.d.ts.map +1 -1
- package/dist/factories/interfaces/index.js +3 -1
- package/dist/factories/interfaces/index.js.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IInterchainAccountRouter.d.ts +16 -14
- package/dist/interfaces/IInterchainAccountRouter.d.ts.map +1 -1
- package/dist/interfaces/IInterchainQueryRouter.d.ts +22 -20
- package/dist/interfaces/IInterchainQueryRouter.d.ts.map +1 -1
- package/dist/interfaces/IValidatorAnnounce.d.ts +83 -0
- package/dist/interfaces/IValidatorAnnounce.d.ts.map +1 -0
- package/dist/interfaces/IValidatorAnnounce.js +4 -0
- package/dist/interfaces/IValidatorAnnounce.js.map +1 -0
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/interfaces/IInterchainAccountRouter.sol +2 -2
- package/interfaces/IInterchainQueryRouter.sol +3 -3
- package/interfaces/ILiquidityLayerRouter.sol +0 -2
- package/interfaces/IValidatorAnnounce.sol +36 -0
- package/package.json +5 -4
- package/contracts/Call.sol +0 -7
- package/dist/contracts/InterchainGasPaymaster.d.ts.map +0 -1
- package/dist/contracts/InterchainGasPaymaster.js.map +0 -1
- package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts.map +0 -1
- package/dist/factories/contracts/InterchainGasPaymaster__factory.js.map +0 -1
|
@@ -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 = "0x608060405234801561001057600080fd5b506040516149d83803806149d883398101604081905261002f91610682565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610635565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610635565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610642565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610642565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102689061064f565b604051809103906000f080158015610284573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102c59061064f565b604051809103906000f0801580156102e1573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161035a9061065c565b604051809103906000f080158015610376573d6000803e3d6000fd5b50905060006040516103879061065c565b604051809103906000f0801580156103a3573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104c157600080fd5b505af11580156104d5573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876104fc8561062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561054057600080fd5b505af1158015610554573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a78861057b8661062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105bf57600080fd5b505af11580156105d3573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106b5915050565b6001600160a01b031690565b610e2d806109de83390190565b610caa8061180b83390190565b61021e806124b583390190565b612305806126d383390190565b805163ffffffff8116811461067d57600080fd5b919050565b6000806040838503121561069557600080fd5b61069e83610669565b91506106ac60208401610669565b90509250929050565b61031a806106c46000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea264697066735822122015b57b77581af942f56878bcf4542bef8f504794fb0cae09a31b33877884be3664736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610e2d380380610e2d8339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610d866100a7600039600060dd01526000818161022f01526107500152610d866000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806392d28b3d11610081578063d12164e41161005b578063d12164e414610251578063fa31de011461025a578063fd10ebe51461026d57600080fd5b806392d28b3d146101ac578063a3b4919f146101cf578063c2fb26a61461022a57600080fd5b806359b3f6e0116100b257806359b3f6e0146101195780638209d31214610182578063924324aa1461019957600080fd5b80631605c306146100ce57806354fd4d50146100d8575b600080fd5b6100d6610276565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b6100d6610127366004610811565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61018b60015481565b604051908152602001610110565b6100d66101a7366004610891565b61043a565b6101bf6101ba36600461090b565b610599565b6040516101109493929190610988565b6102056101dd3660046109d7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610110565b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b61018b60025481565b61018b6102683660046109f9565b61066f565b61018b60005481565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff6401000000009091048116948201949094526001820154909316918301919091529283018054929391926060840191906102ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610a53565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103cc846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b81526004016103ef93929190610aa6565b600060405180830381600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b50506002805492509050600061043283610ad4565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061057a9082610bb1565b5050600180549150600061058d83610ad4565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff9081169493169291906105ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461061890610a53565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905084565b63ffffffff841660009081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f7800000000000000000000604482015260640160405180910390fd5b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610780907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610ccb565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b50506000805492509050806107c283610ad4565b909155506000979650505050505050565b803563ffffffff811681146107e757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080e57600080fd5b50565b6000806040838503121561082457600080fd5b61082d836107d3565b9150602083013561083d816107ec565b809150509250929050565b60008083601f84011261085a57600080fd5b50813567ffffffffffffffff81111561087257600080fd5b60208301915083602082850101111561088a57600080fd5b9250929050565b6000806000806000608086880312156108a957600080fd5b6108b2866107d3565b945060208601356108c2816107ec565b935060408601356108d2816107ec565b9250606086013567ffffffffffffffff8111156108ee57600080fd5b6108fa88828901610848565b969995985093965092949392505050565b60006020828403121561091d57600080fd5b5035919050565b6000815180845260005b8181101561094a5760208185018101518683018201520161092e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff8086166020840152808516604084015250608060608301526109cd6080830184610924565b9695505050505050565b6000602082840312156109e957600080fd5b6109f2826107d3565b9392505050565b60008060008060608587031215610a0f57600080fd5b610a18856107d3565b935060208501359250604085013567ffffffffffffffff811115610a3b57600080fd5b610a4787828801610848565b95989497509550505050565b600181811c90821680610a6757607f821691505b602082108103610aa0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610acb6060830184610924565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610bac57600081815260208120601f850160051c81016020861015610b895750805b601f850160051c820191505b81811015610ba857828155600101610b95565b5050505b505050565b815167ffffffffffffffff811115610bcb57610bcb610b33565b610bdf81610bd98454610a53565b84610b62565b602080601f831160018114610c325760008415610bfc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ba8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c7f57888601518255948401946001909101908401610c60565b5085821015610cbb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea264697066735822122050acc55b43f4fd212e40353cfc859a30f004e16849458c3e1566e8dc26381d2464736f6c63430008110033608060405234801561001057600080fd5b5061001961001e565b610266565b600054610100900460ff161580801561003e5750600054600160ff909116105b8061006957506100573061014560201b6106881760201c565b158015610069575060005460ff166001145b6100d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156100f4576000805461ff0019166101001790555b6100fc610154565b8015610142576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b600054610100900460ff166101ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b56101b7565b565b600054610100900460ff166102105760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b533603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a15806102756000396000f3fe6080604052600436106100705760003560e01c80638129fc1c1161004e5780638129fc1c146100b45780638da5cb5b146100c9578063a692979314610103578063f2fde38b1461013157600080fd5b806311bf2c18146100755780634e71d92d1461008a578063715018a61461009f575b600080fd5b610088610083366004610913565b610151565b005b34801561009657600080fd5b5061008861033b565b3480156100ab57600080fd5b50610088610426565b3480156100c057600080fd5b5061008861043a565b3480156100d557600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561010f57600080fd5b5061012361011e366004610959565b6105cb565b6040519081526020016100fa565b34801561013d57600080fd5b5061008861014c366004610983565b6105d4565b600061015d84846105cb565b9050803410156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600061020082346109a5565b905080156102f95760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610262576040519150601f19603f3d011682016040523d82523d6000602084013e610267565b606091505b50509050806102f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c65640000000000000000000000000000000000000000000000000000000060648201526084016101eb565b505b6040805185815234602082015287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b600061035c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff164760405160006040518083038185875af1925050503d80600081146103b3576040519150601f19603f3d011682016040523d82523d6000602084013e6103b8565b606091505b5050905080610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e73666572000000000000000000000000000000000000000000000060448201526064016101eb565b50565b61042e6106a4565b6104386000610725565b565b600054610100900460ff161580801561045a5750600054600160ff909116105b806104745750303b158015610474575060005460ff166001145b610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101eb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561055e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61056661079c565b801561042357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60015b92915050565b6105dc6106a4565b73ffffffffffffffffffffffffffffffffffffffff811661067f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101eb565b61042381610725565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101eb565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b610438600054610100900460ff166108cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b61043833610725565b803563ffffffff811681146108ea57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108ea57600080fd5b6000806000806080858703121561092957600080fd5b84359350610939602086016108d6565b92506040850135915061094e606086016108ef565b905092959194509250565b6000806040838503121561096c57600080fd5b610975836108d6565b946020939093013593505050565b60006020828403121561099557600080fd5b61099e826108ef565b9392505050565b818103818111156105ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220551d23686018c9aa03d5700c17e92cc43ecd7b61548577d103ae6b892ef0069a64736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea2646970667358221220a1a05fbfc54039f64706d6b983d8ed604b13adbd5a9e4e8990057c4b1a77b1d764736f6c63430008110033608060405234801561001057600080fd5b506122e5806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806395b1f3b3116100b2578063e9198bf911610081578063f2fde38b11610066578063f2fde38b146102bb578063f3c61d6b146102ce578063f8c8765e146102e157600080fd5b8063e9198bf914610295578063f1bd6f0a146102a857600080fd5b806395b1f3b31461022f578063b49c53a714610242578063d5438eae14610255578063de523cf31461027557600080fd5b806339bb4ad91161010957806356d5d475116100ee57806356d5d475146101f6578063715018a6146102095780638da5cb5b1461021157600080fd5b806339bb4ad91461019c578063440df4f4146101e157600080fd5b80630e72cc061461013b5780631227dba9146101505780632222b452146101765780632ead72f614610189575b600080fd5b61014e61014936600461175a565b6102f4565b005b61016361015e366004611a45565b610308565b6040519081526020015b60405180910390f35b610163610184366004611b02565b61040d565b610163610197366004611b95565b610567565b6066546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016d565b6101e96105a9565b60405161016d9190611bb0565b61014e610204366004611bfa565b610664565b61014e610757565b60335473ffffffffffffffffffffffffffffffffffffffff166101bc565b61016361023d366004611c54565b61076b565b61014e610250366004611cc7565b61086f565b6065546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b61014e6102a3366004611d36565b610885565b61014e6102b636600461175a565b610962565b61014e6102c936600461175a565b610973565b61014e6102dc36600461175a565b610a27565b61014e6102ef366004611d96565b610a38565b6102fc610bd1565b61030581610c52565b50565b600081518351146103a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f496e746572636861696e5175657279526f757465723a2063616c6c7320616e6460448201527f2063616c6c6261636b73206d7573742062652073616d65206c656e677468000060648201526084015b60405180910390fd5b6103d08460003386866040516020016103bc9493929190611f1f565b604051602081830303815290604052610d60565b604051909150339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e590600090a39392505050565b604080516001808252818301909252600091829190816020015b60408051808201909152600081526060602082015281526020019060019003908161042757905050905060405180604001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505083518492506104c1576104c1611fea565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816104e357905050905084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061054457610544611fea565b602002602001018190525061055a898383610308565b9998505050505050505050565b600061057d609863ffffffff80851690610e1216565b1561059c57610596609863ffffffff80851690610e2516565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156105cc576105cc61178b565b6040519080825280602002602001820160405280156105f5578160200160208202803683370190505b50905060005b825481101561065d5782818154811061061657610616611fea565b906000526020600020015460001c82828151811061063657610636611fea565b63ffffffff909216602092830291909101909101528061065581612048565b9150506105fb565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610397565b83836106f18282610e31565b60405180608001604052806043815260200161226d6043913990610742576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612080565b5061074f86868686610e45565b505050505050565b61075f610bd1565b6107696000610fab565b565b604080516001808252818301909252600091829190816020015b6040805180820190915260008152606060208201528152602001906001900390816107855790505090506107b885612093565b816000815181106107cb576107cb611fea565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816107ed57905050905084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061084e5761084e611fea565b6020026020010181905250610864878383610308565b979650505050505050565b610877610bd1565b6108818282611022565b5050565b61088d610bd1565b8281146108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610397565b60005b8381101561095b5761094985858381811061091657610916611fea565b905060200201602081019061092b9190611b95565b84848481811061093d5761093d611fea565b90506020020135611022565b61095460018261209f565b90506108f9565b5050505050565b61096a610bd1565b6103058161106f565b61097b610bd1565b73ffffffffffffffffffffffffffffffffffffffff8116610a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610397565b61030581610fab565b610a2f610bd1565b6103058161115e565b600054610100900460ff1615808015610a585750600054600160ff909116105b80610a725750303b158015610a72575060005460ff166001145b610afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610397565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b5c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b688585858561124d565b801561095b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610397565b73ffffffffffffffffffffffffffffffffffffffff81161580610c8b575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b600080610d6c8461130e565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610dc7908790859088906004016120b2565b6020604051808303816000875af1158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a91906120e0565b949350505050565b6000610e1e8383611379565b9392505050565b6000610e1e8383611385565b600081610e3d84610567565b149392505050565b60008282601f818110610e5a57610e5a611fea565b919091013560f81c90506001811115610e7557610e75611df2565b90506000816001811115610e8b57610e8b611df2565b03610f225760008080610ea085870187612108565b935093509350506000610eb3838361140f565b9050610ecf89600186846040516020016103bc9392919061218f565b5060405173ffffffffffffffffffffffffffffffffffffffff85169063ffffffff8b16907f23765aea2e90cfa5dadac549945f61c017334d01a9f242f49a070d9fb9a04a4690600090a35050505061095b565b6001816001811115610f3657610f36611df2565b0361095b57600080610f4a848601866121cb565b9250925050610f5982826115ea565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8916907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a350505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611038609863ffffffff8085169084906116a416565b604051819063ffffffff8416907f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645890600090a35050565b8073ffffffffffffffffffffffffffffffffffffffff81163b6110ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b6111dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff166112e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610397565b6112ed8461115e565b6112f68361106f565b6112ff82610c52565b61130881610fab565b50505050565b600061131982610567565b90506000801b81141560405180608001604052806043815260200161226d6043913990611373576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612080565b50919050565b6000610e1e83836116af565b6000818152600283016020526040812054801515806113a957506113a98484611379565b610e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610397565b6060815167ffffffffffffffff81111561142b5761142b61178b565b60405190808252806020026020018201604052801561145e57816020015b60608152602001906001900390816114495790505b50905060005b835181101561065d5760008085838151811061148257611482611fea565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106114b6576114b6611fea565b6020026020010151602001516040516114cf9190612221565b6000604051808303816000865af19150503d806000811461150c576040519150601f19603f3d011682016040523d82523d6000602084013e611511565b606091505b50915091508161157d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d756c746963616c6c3a2063616c6c206661696c6564000000000000000000006044820152606401610397565b84838151811061158f5761158f611fea565b6020026020010151816040516020016115a992919061223d565b6040516020818303038152906040528484815181106115ca576115ca611fea565b6020026020010181905250505080806115e290612048565b915050611464565b60005b815181101561169f576000808473ffffffffffffffffffffffffffffffffffffffff1684848151811061162257611622611fea565b60200260200101516040516116379190612221565b6000604051808303816000865af19150503d8060008114611674576040519150601f19603f3d011682016040523d82523d6000602084013e611679565b606091505b50915091508161168a578060208201fd5b50611698905060018261209f565b90506115ed565b505050565b6113088383836116c7565b60008181526001830160205260408120541515610e1e565b60008281526002840160205260408120829055610e0a84846000818152600183016020526040812054610e1e9084908490849061173057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610596565b506000610596565b73ffffffffffffffffffffffffffffffffffffffff8116811461030557600080fd5b60006020828403121561176c57600080fd5b8135610e1e81611738565b803563ffffffff811681146105a457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156118015761180161178b565b604052919050565b600067ffffffffffffffff8211156118235761182361178b565b5060051b60200190565b600082601f83011261183e57600080fd5b813567ffffffffffffffff8111156118585761185861178b565b61188960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016117ba565b81815284602083860101111561189e57600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156118cd57600080fd5b6040516040810167ffffffffffffffff82821081831117156118f1576118f161178b565b816040528293508435915061190582611738565b9082526020840135908082111561191b57600080fd5b506119288582860161182d565b6020830152505092915050565b600082601f83011261194657600080fd5b8135602061195b61195683611809565b6117ba565b82815260059290921b8401810191818101908684111561197a57600080fd5b8286015b848110156119ba57803567ffffffffffffffff81111561199e5760008081fd5b6119ac8986838b01016118bb565b84525091830191830161197e565b509695505050505050565b600082601f8301126119d657600080fd5b813560206119e661195683611809565b82815260059290921b84018101918181019086841115611a0557600080fd5b8286015b848110156119ba57803567ffffffffffffffff811115611a295760008081fd5b611a378986838b010161182d565b845250918301918301611a09565b600080600060608486031215611a5a57600080fd5b611a6384611777565b9250602084013567ffffffffffffffff80821115611a8057600080fd5b611a8c87838801611935565b93506040860135915080821115611aa257600080fd5b50611aaf868287016119c5565b9150509250925092565b60008083601f840112611acb57600080fd5b50813567ffffffffffffffff811115611ae357600080fd5b602083019150836020828501011115611afb57600080fd5b9250929050565b60008060008060008060808789031215611b1b57600080fd5b611b2487611777565b95506020870135611b3481611738565b9450604087013567ffffffffffffffff80821115611b5157600080fd5b611b5d8a838b01611ab9565b90965094506060890135915080821115611b7657600080fd5b50611b8389828a01611ab9565b979a9699509497509295939492505050565b600060208284031215611ba757600080fd5b610e1e82611777565b6020808252825182820181905260009190848201906040850190845b81811015611bee57835163ffffffff1683529284019291840191600101611bcc565b50909695505050505050565b60008060008060608587031215611c1057600080fd5b611c1985611777565b935060208501359250604085013567ffffffffffffffff811115611c3c57600080fd5b611c4887828801611ab9565b95989497509550505050565b60008060008060608587031215611c6a57600080fd5b611c7385611777565b9350602085013567ffffffffffffffff80821115611c9057600080fd5b9086019060408289031215611ca457600080fd5b90935060408601359080821115611cba57600080fd5b50611c4887828801611ab9565b60008060408385031215611cda57600080fd5b611ce383611777565b946020939093013593505050565b60008083601f840112611d0357600080fd5b50813567ffffffffffffffff811115611d1b57600080fd5b6020830191508360208260051b8501011115611afb57600080fd5b60008060008060408587031215611d4c57600080fd5b843567ffffffffffffffff80821115611d6457600080fd5b611d7088838901611cf1565b90965094506020870135915080821115611d8957600080fd5b50611c4887828801611cf1565b60008060008060808587031215611dac57600080fd5b8435611db781611738565b93506020850135611dc781611738565b92506040850135611dd781611738565b91506060850135611de781611738565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611e58577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b83811015611e77578181015183820152602001611e5f565b50506000910152565b60008151808452611e98816020860160208601611e5c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015611f12578284038952611f00848351611e80565b98850198935090840190600101611ee8565b5091979650505050505050565b600060808201611f2f8388611e21565b602073ffffffffffffffffffffffffffffffffffffffff80881682860152604060808187015283885180865260a08801915060a08160051b8901019550848a0160005b82811015611fd1578988037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600184528151805187168952870151878901869052611fbe868a0182611e80565b9850509286019290860190600101611f72565b5050505050505082810360608401526108648185611eca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361207957612079612019565b5060010190565b602081526000610e1e6020830184611e80565b600061059636836118bb565b8082018082111561059657610596612019565b63ffffffff841681528260208201526060604082015260006120d76060830184611e80565b95945050505050565b6000602082840312156120f257600080fd5b5051919050565b8035600281106105a457600080fd5b6000806000806080858703121561211e57600080fd5b612127856120f9565b9350602085013561213781611738565b9250604085013567ffffffffffffffff8082111561215457600080fd5b61216088838901611935565b9350606087013591508082111561217657600080fd5b50612183878288016119c5565b91505092959194509250565b6121998185611e21565b73ffffffffffffffffffffffffffffffffffffffff831660208201526060604082015260006120d76060830184611eca565b6000806000606084860312156121e057600080fd5b6121e9846120f9565b925060208401356121f981611738565b9150604084013567ffffffffffffffff81111561221557600080fd5b611aaf868287016119c5565b60008251612233818460208701611e5c565b9190910192915050565b6000835161224f818460208801611e5c565b835190830190612263818360208801611e5c565b0194935050505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa2646970667358221220f5659e70c6995d6fc1922a17dafb016637a483c8fa304a247ab02bfa00c0c87f64736f6c63430008110033";
|
|
15
|
+
static readonly bytecode = "0x608060405234801561001057600080fd5b50604051614a99380380614a9983398101604081905261002f91610682565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610635565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610635565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610642565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610642565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102689061064f565b604051809103906000f080158015610284573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102c59061064f565b604051809103906000f0801580156102e1573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161035a9061065c565b604051809103906000f080158015610376573d6000803e3d6000fd5b50905060006040516103879061065c565b604051809103906000f0801580156103a3573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104c157600080fd5b505af11580156104d5573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876104fc8561062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561054057600080fd5b505af1158015610554573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a78861057b8661062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105bf57600080fd5b505af11580156105d3573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106b5915050565b6001600160a01b031690565b610e2e806109de83390190565b610caa8061180c83390190565b61021e806124b683390190565b6123c5806126d483390190565b805163ffffffff8116811461067d57600080fd5b919050565b6000806040838503121561069557600080fd5b61069e83610669565b91506106ac60208401610669565b90509250929050565b61031a806106c46000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea2646970667358221220079a101f1b04c5d5598f70db46fc4f39f5c1e29a0fb1f107210949d1dc6c44a764736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610e2e380380610e2e8339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610d866100a8600039600061025401526000818161016201526107500152610d866000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610233578063fd10ebe514610246578063ffa1ad741461024f57600080fd5b806392d28b3d146101ac578063a3b4919f146101cf578063d12164e41461022a57600080fd5b80638209d312116100b25780638209d312146101415780638d3638f41461015d578063924324aa1461019957600080fd5b80631605c306146100ce57806359b3f6e0146100d8575b600080fd5b6100d6610276565b005b6100d66100e6366004610811565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61014a60015481565b6040519081526020015b60405180910390f35b6101847f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610154565b6100d66101a7366004610891565b61043a565b6101bf6101ba36600461090b565b610599565b6040516101549493929190610988565b6102056101dd3660046109d7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610154565b61014a60025481565b61014a6102413660046109f9565b61066f565b61014a60005481565b6101847f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff6401000000009091048116948201949094526001820154909316918301919091529283018054929391926060840191906102ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610a53565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103cc846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b81526004016103ef93929190610aa6565b600060405180830381600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b50506002805492509050600061043283610ad4565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061057a9082610bb1565b5050600180549150600061058d83610ad4565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff9081169493169291906105ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461061890610a53565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905084565b63ffffffff841660009081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f7800000000000000000000604482015260640160405180910390fd5b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610780907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610ccb565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b50506000805492509050806107c283610ad4565b909155506000979650505050505050565b803563ffffffff811681146107e757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080e57600080fd5b50565b6000806040838503121561082457600080fd5b61082d836107d3565b9150602083013561083d816107ec565b809150509250929050565b60008083601f84011261085a57600080fd5b50813567ffffffffffffffff81111561087257600080fd5b60208301915083602082850101111561088a57600080fd5b9250929050565b6000806000806000608086880312156108a957600080fd5b6108b2866107d3565b945060208601356108c2816107ec565b935060408601356108d2816107ec565b9250606086013567ffffffffffffffff8111156108ee57600080fd5b6108fa88828901610848565b969995985093965092949392505050565b60006020828403121561091d57600080fd5b5035919050565b6000815180845260005b8181101561094a5760208185018101518683018201520161092e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff8086166020840152808516604084015250608060608301526109cd6080830184610924565b9695505050505050565b6000602082840312156109e957600080fd5b6109f2826107d3565b9392505050565b60008060008060608587031215610a0f57600080fd5b610a18856107d3565b935060208501359250604085013567ffffffffffffffff811115610a3b57600080fd5b610a4787828801610848565b95989497509550505050565b600181811c90821680610a6757607f821691505b602082108103610aa0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610acb6060830184610924565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610bac57600081815260208120601f850160051c81016020861015610b895750805b601f850160051c820191505b81811015610ba857828155600101610b95565b5050505b505050565b815167ffffffffffffffff811115610bcb57610bcb610b33565b610bdf81610bd98454610a53565b84610b62565b602080601f831160018114610c325760008415610bfc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ba8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c7f57888601518255948401946001909101908401610c60565b5085821015610cbb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea2646970667358221220279cc4c42a2de41ad9187b3351e9c0ea0527e76fcc182238a7cb83bd3b95f32264736f6c63430008110033608060405234801561001057600080fd5b5061001961001e565b610266565b600054610100900460ff161580801561003e5750600054600160ff909116105b8061006957506100573061014560201b6106881760201c565b158015610069575060005460ff166001145b6100d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156100f4576000805461ff0019166101001790555b6100fc610154565b8015610142576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b600054610100900460ff166101ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b56101b7565b565b600054610100900460ff166102105760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b533603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a15806102756000396000f3fe6080604052600436106100705760003560e01c80638129fc1c1161004e5780638129fc1c146100b45780638da5cb5b146100c9578063a692979314610103578063f2fde38b1461013157600080fd5b806311bf2c18146100755780634e71d92d1461008a578063715018a61461009f575b600080fd5b610088610083366004610913565b610151565b005b34801561009657600080fd5b5061008861033b565b3480156100ab57600080fd5b50610088610426565b3480156100c057600080fd5b5061008861043a565b3480156100d557600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561010f57600080fd5b5061012361011e366004610959565b6105cb565b6040519081526020016100fa565b34801561013d57600080fd5b5061008861014c366004610983565b6105d4565b600061015d84846105cb565b9050803410156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600061020082346109a5565b905080156102f95760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610262576040519150601f19603f3d011682016040523d82523d6000602084013e610267565b606091505b50509050806102f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c65640000000000000000000000000000000000000000000000000000000060648201526084016101eb565b505b6040805185815234602082015287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b600061035c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff164760405160006040518083038185875af1925050503d80600081146103b3576040519150601f19603f3d011682016040523d82523d6000602084013e6103b8565b606091505b5050905080610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e73666572000000000000000000000000000000000000000000000060448201526064016101eb565b50565b61042e6106a4565b6104386000610725565b565b600054610100900460ff161580801561045a5750600054600160ff909116105b806104745750303b158015610474575060005460ff166001145b610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101eb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561055e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61056661079c565b801561042357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60015b92915050565b6105dc6106a4565b73ffffffffffffffffffffffffffffffffffffffff811661067f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101eb565b61042381610725565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101eb565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b610438600054610100900460ff166108cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b61043833610725565b803563ffffffff811681146108ea57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108ea57600080fd5b6000806000806080858703121561092957600080fd5b84359350610939602086016108d6565b92506040850135915061094e606086016108ef565b905092959194509250565b6000806040838503121561096c57600080fd5b610975836108d6565b946020939093013593505050565b60006020828403121561099557600080fd5b61099e826108ef565b9392505050565b818103818111156105ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122040f5ccccff4ea19101e77fe52c15c47e65b3e632e77975bc4a97fc4d84e57ccb64736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea2646970667358221220a1a05fbfc54039f64706d6b983d8ed604b13adbd5a9e4e8990057c4b1a77b1d764736f6c63430008110033608060405234801561001057600080fd5b506123a5806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806395b1f3b3116100b2578063e9198bf911610081578063f2fde38b11610066578063f2fde38b146102bb578063f3c61d6b146102ce578063f8c8765e146102e157600080fd5b8063e9198bf914610295578063f1bd6f0a146102a857600080fd5b806395b1f3b31461022f578063b49c53a714610242578063d5438eae14610255578063de523cf31461027557600080fd5b806339bb4ad91161010957806356d5d475116100ee57806356d5d475146101f6578063715018a6146102095780638da5cb5b1461021157600080fd5b806339bb4ad91461019c578063440df4f4146101e157600080fd5b80630e72cc061461013b5780631227dba9146101505780632222b452146101765780632ead72f614610189575b600080fd5b61014e61014936600461181a565b6102f4565b005b61016361015e366004611b05565b610308565b6040519081526020015b60405180910390f35b610163610184366004611bc2565b61040d565b610163610197366004611c55565b610567565b6066546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016d565b6101e96105a9565b60405161016d9190611c70565b61014e610204366004611cba565b610664565b61014e610757565b60335473ffffffffffffffffffffffffffffffffffffffff166101bc565b61016361023d366004611d14565b61076b565b61014e610250366004611d87565b61086f565b6065546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b61014e6102a3366004611df6565b610885565b61014e6102b636600461181a565b610962565b61014e6102c936600461181a565b610973565b61014e6102dc36600461181a565b610a27565b61014e6102ef366004611e56565b610a38565b6102fc610bd1565b61030581610c52565b50565b600081518351146103a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f496e746572636861696e5175657279526f757465723a2063616c6c7320616e6460448201527f2063616c6c6261636b73206d7573742062652073616d65206c656e677468000060648201526084015b60405180910390fd5b6103d08460003386866040516020016103bc9493929190611fdf565b604051602081830303815290604052610d60565b604051909150339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e590600090a39392505050565b604080516001808252818301909252600091829190816020015b60408051808201909152600081526060602082015281526020019060019003908161042757905050905060405180604001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505083518492506104c1576104c16120aa565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816104e357905050905084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250855186945090925015159050610544576105446120aa565b602002602001018190525061055a898383610308565b9998505050505050505050565b600061057d609863ffffffff80851690610e1216565b1561059c57610596609863ffffffff80851690610e2516565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156105cc576105cc61184b565b6040519080825280602002602001820160405280156105f5578160200160208202803683370190505b50905060005b825481101561065d57828181548110610616576106166120aa565b906000526020600020015460001c828281518110610636576106366120aa565b63ffffffff909216602092830291909101909101528061065581612108565b9150506105fb565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610397565b83836106f18282610e31565b60405180608001604052806043815260200161232d6043913990610742576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612140565b5061074f86868686610e45565b505050505050565b61075f610bd1565b6107696000610fc2565b565b604080516001808252818301909252600091829190816020015b6040805180820190915260008152606060208201528152602001906001900390816107855790505090506107b885612153565b816000815181106107cb576107cb6120aa565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816107ed57905050905084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061084e5761084e6120aa565b6020026020010181905250610864878383610308565b979650505050505050565b610877610bd1565b6108818282611039565b5050565b61088d610bd1565b8281146108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610397565b60005b8381101561095b57610949858583818110610916576109166120aa565b905060200201602081019061092b9190611c55565b84848481811061093d5761093d6120aa565b90506020020135611039565b61095460018261215f565b90506108f9565b5050505050565b61096a610bd1565b61030581611086565b61097b610bd1565b73ffffffffffffffffffffffffffffffffffffffff8116610a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610397565b61030581610fc2565b610a2f610bd1565b61030581611175565b600054610100900460ff1615808015610a585750600054600160ff909116105b80610a725750303b158015610a72575060005460ff166001145b610afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610397565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b5c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b6885858585611264565b801561095b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610397565b73ffffffffffffffffffffffffffffffffffffffff81161580610c8b575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b600080610d6c84611325565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610dc790879085908890600401612172565b6020604051808303816000875af1158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a91906121a0565b949350505050565b6000610e1e8383611390565b9392505050565b6000610e1e838361139c565b600081610e3d84610567565b149392505050565b60008282601f818110610e5a57610e5a6120aa565b919091013560f81c90506001811115610e7557610e75611eb2565b90506000816001811115610e8b57610e8b611eb2565b03610f215760008080610ea0858701876121c8565b91955093509150610eb390508282611426565b9050610ecf88600185846040516020016103bc9392919061224f565b5060405173ffffffffffffffffffffffffffffffffffffffff84169063ffffffff8a16907f23765aea2e90cfa5dadac549945f61c017334d01a9f242f49a070d9fb9a04a4690600090a350505061095b565b6001816001811115610f3557610f35611eb2565b0361095b57600080610f498486018661228b565b9093509150610f70905073ffffffffffffffffffffffffffffffffffffffff8316826114ea565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8916907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a350505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61104f609863ffffffff80851690849061152716565b604051819063ffffffff8416907f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645890600090a35050565b8073ffffffffffffffffffffffffffffffffffffffff81163b611105576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b6111f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff166112fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610397565b61130484611175565b61130d83611086565b61131682610c52565b61131f81610fc2565b50505050565b600061133082610567565b90506000801b81141560405180608001604052806043815260200161232d604391399061138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612140565b50919050565b6000610e1e8383611532565b6000818152600283016020526040812054801515806113c057506113c08484611390565b610e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610397565b815181906000905b808210156114e257600061147c86848151811061144d5761144d6120aa565b60200260200101516000015187858151811061146b5761146b6120aa565b60200260200101516020015161154a565b9050848381518110611490576114906120aa565b6020026020010151816040516020016114aa9291906122e1565b6040516020818303038152906040528484815181106114cb576114cb6120aa565b60200260200101819052508260010192505061142e565b505092915050565b80516000905b8082101561131f5761151b8484848151811061150e5761150e6120aa565b602002602001015161154a565b508160010191506114f0565b61131f83838361158e565b60008181526001830160205260408120541515610e1e565b6060610e1e838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506115ab565b60008281526002840160205260408120829055610e0a84846116b9565b60608247101561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610397565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116669190612310565b60006040518083038185875af1925050503d80600081146116a3576040519150601f19603f3d011682016040523d82523d6000602084013e6116a8565b606091505b5091509150610864878383876116c5565b6000610e1e8383611765565b6060831561175b5782516000036117545773ffffffffffffffffffffffffffffffffffffffff85163b611754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610397565b5081610e0a565b610e0a83836117b4565b60008181526001830160205260408120546117ac57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610596565b506000610596565b8151156117c45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612140565b73ffffffffffffffffffffffffffffffffffffffff8116811461030557600080fd5b60006020828403121561182c57600080fd5b8135610e1e816117f8565b803563ffffffff811681146105a457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156118c1576118c161184b565b604052919050565b600067ffffffffffffffff8211156118e3576118e361184b565b5060051b60200190565b600082601f8301126118fe57600080fd5b813567ffffffffffffffff8111156119185761191861184b565b61194960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161187a565b81815284602083860101111561195e57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121561198d57600080fd5b6040516040810167ffffffffffffffff82821081831117156119b1576119b161184b565b81604052829350843591506119c5826117f8565b908252602084013590808211156119db57600080fd5b506119e8858286016118ed565b6020830152505092915050565b600082601f830112611a0657600080fd5b81356020611a1b611a16836118c9565b61187a565b82815260059290921b84018101918181019086841115611a3a57600080fd5b8286015b84811015611a7a57803567ffffffffffffffff811115611a5e5760008081fd5b611a6c8986838b010161197b565b845250918301918301611a3e565b509695505050505050565b600082601f830112611a9657600080fd5b81356020611aa6611a16836118c9565b82815260059290921b84018101918181019086841115611ac557600080fd5b8286015b84811015611a7a57803567ffffffffffffffff811115611ae95760008081fd5b611af78986838b01016118ed565b845250918301918301611ac9565b600080600060608486031215611b1a57600080fd5b611b2384611837565b9250602084013567ffffffffffffffff80821115611b4057600080fd5b611b4c878388016119f5565b93506040860135915080821115611b6257600080fd5b50611b6f86828701611a85565b9150509250925092565b60008083601f840112611b8b57600080fd5b50813567ffffffffffffffff811115611ba357600080fd5b602083019150836020828501011115611bbb57600080fd5b9250929050565b60008060008060008060808789031215611bdb57600080fd5b611be487611837565b95506020870135611bf4816117f8565b9450604087013567ffffffffffffffff80821115611c1157600080fd5b611c1d8a838b01611b79565b90965094506060890135915080821115611c3657600080fd5b50611c4389828a01611b79565b979a9699509497509295939492505050565b600060208284031215611c6757600080fd5b610e1e82611837565b6020808252825182820181905260009190848201906040850190845b81811015611cae57835163ffffffff1683529284019291840191600101611c8c565b50909695505050505050565b60008060008060608587031215611cd057600080fd5b611cd985611837565b935060208501359250604085013567ffffffffffffffff811115611cfc57600080fd5b611d0887828801611b79565b95989497509550505050565b60008060008060608587031215611d2a57600080fd5b611d3385611837565b9350602085013567ffffffffffffffff80821115611d5057600080fd5b9086019060408289031215611d6457600080fd5b90935060408601359080821115611d7a57600080fd5b50611d0887828801611b79565b60008060408385031215611d9a57600080fd5b611da383611837565b946020939093013593505050565b60008083601f840112611dc357600080fd5b50813567ffffffffffffffff811115611ddb57600080fd5b6020830191508360208260051b8501011115611bbb57600080fd5b60008060008060408587031215611e0c57600080fd5b843567ffffffffffffffff80821115611e2457600080fd5b611e3088838901611db1565b90965094506020870135915080821115611e4957600080fd5b50611d0887828801611db1565b60008060008060808587031215611e6c57600080fd5b8435611e77816117f8565b93506020850135611e87816117f8565b92506040850135611e97816117f8565b91506060850135611ea7816117f8565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611f18577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b83811015611f37578181015183820152602001611f1f565b50506000910152565b60008151808452611f58816020860160208601611f1c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015611fd2578284038952611fc0848351611f40565b98850198935090840190600101611fa8565b5091979650505050505050565b600060808201611fef8388611ee1565b602073ffffffffffffffffffffffffffffffffffffffff80881682860152604060808187015283885180865260a08801915060a08160051b8901019550848a0160005b82811015612091578988037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60018452815180518716895287015187890186905261207e868a0182611f40565b9850509286019290860190600101612032565b5050505050505082810360608401526108648185611f8a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612139576121396120d9565b5060010190565b602081526000610e1e6020830184611f40565b6000610596368361197b565b80820180821115610596576105966120d9565b63ffffffff841681528260208201526060604082015260006121976060830184611f40565b95945050505050565b6000602082840312156121b257600080fd5b5051919050565b8035600281106105a457600080fd5b600080600080608085870312156121de57600080fd5b6121e7856121b9565b935060208501356121f7816117f8565b9250604085013567ffffffffffffffff8082111561221457600080fd5b612220888389016119f5565b9350606087013591508082111561223657600080fd5b5061224387828801611a85565b91505092959194509250565b6122598185611ee1565b73ffffffffffffffffffffffffffffffffffffffff831660208201526060604082015260006121976060830184611f8a565b6000806000606084860312156122a057600080fd5b6122a9846121b9565b925060208401356122b9816117f8565b9150604084013567ffffffffffffffff8111156122d557600080fd5b611b6f86828701611a85565b600083516122f3818460208801611f1c565b835190830190612307818360208801611f1c565b01949350505050565b60008251612322818460208701611f1c565b919091019291505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa2646970667358221220ba8fc91282d2cfd8b6379203584c8d04dc132df55f7ee00b462f40315995076964736f6c63430008110033";
|
|
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,0zqCAAa;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 = "0x608060405234801561001057600080fd5b506040516149d83803806149d883398101604081905261002f91610682565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610635565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610635565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610642565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610642565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102689061064f565b604051809103906000f080158015610284573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102c59061064f565b604051809103906000f0801580156102e1573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161035a9061065c565b604051809103906000f080158015610376573d6000803e3d6000fd5b50905060006040516103879061065c565b604051809103906000f0801580156103a3573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104c157600080fd5b505af11580156104d5573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876104fc8561062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561054057600080fd5b505af1158015610554573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a78861057b8661062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105bf57600080fd5b505af11580156105d3573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106b5915050565b6001600160a01b031690565b610e2d806109de83390190565b610caa8061180b83390190565b61021e806124b583390190565b612305806126d383390190565b805163ffffffff8116811461067d57600080fd5b919050565b6000806040838503121561069557600080fd5b61069e83610669565b91506106ac60208401610669565b90509250929050565b61031a806106c46000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea264697066735822122015b57b77581af942f56878bcf4542bef8f504794fb0cae09a31b33877884be3664736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610e2d380380610e2d8339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610d866100a7600039600060dd01526000818161022f01526107500152610d866000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806392d28b3d11610081578063d12164e41161005b578063d12164e414610251578063fa31de011461025a578063fd10ebe51461026d57600080fd5b806392d28b3d146101ac578063a3b4919f146101cf578063c2fb26a61461022a57600080fd5b806359b3f6e0116100b257806359b3f6e0146101195780638209d31214610182578063924324aa1461019957600080fd5b80631605c306146100ce57806354fd4d50146100d8575b600080fd5b6100d6610276565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b6100d6610127366004610811565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61018b60015481565b604051908152602001610110565b6100d66101a7366004610891565b61043a565b6101bf6101ba36600461090b565b610599565b6040516101109493929190610988565b6102056101dd3660046109d7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610110565b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b61018b60025481565b61018b6102683660046109f9565b61066f565b61018b60005481565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff6401000000009091048116948201949094526001820154909316918301919091529283018054929391926060840191906102ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610a53565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103cc846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b81526004016103ef93929190610aa6565b600060405180830381600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b50506002805492509050600061043283610ad4565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061057a9082610bb1565b5050600180549150600061058d83610ad4565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff9081169493169291906105ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461061890610a53565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905084565b63ffffffff841660009081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f7800000000000000000000604482015260640160405180910390fd5b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610780907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610ccb565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b50506000805492509050806107c283610ad4565b909155506000979650505050505050565b803563ffffffff811681146107e757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080e57600080fd5b50565b6000806040838503121561082457600080fd5b61082d836107d3565b9150602083013561083d816107ec565b809150509250929050565b60008083601f84011261085a57600080fd5b50813567ffffffffffffffff81111561087257600080fd5b60208301915083602082850101111561088a57600080fd5b9250929050565b6000806000806000608086880312156108a957600080fd5b6108b2866107d3565b945060208601356108c2816107ec565b935060408601356108d2816107ec565b9250606086013567ffffffffffffffff8111156108ee57600080fd5b6108fa88828901610848565b969995985093965092949392505050565b60006020828403121561091d57600080fd5b5035919050565b6000815180845260005b8181101561094a5760208185018101518683018201520161092e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff8086166020840152808516604084015250608060608301526109cd6080830184610924565b9695505050505050565b6000602082840312156109e957600080fd5b6109f2826107d3565b9392505050565b60008060008060608587031215610a0f57600080fd5b610a18856107d3565b935060208501359250604085013567ffffffffffffffff811115610a3b57600080fd5b610a4787828801610848565b95989497509550505050565b600181811c90821680610a6757607f821691505b602082108103610aa0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610acb6060830184610924565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610bac57600081815260208120601f850160051c81016020861015610b895750805b601f850160051c820191505b81811015610ba857828155600101610b95565b5050505b505050565b815167ffffffffffffffff811115610bcb57610bcb610b33565b610bdf81610bd98454610a53565b84610b62565b602080601f831160018114610c325760008415610bfc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ba8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c7f57888601518255948401946001909101908401610c60565b5085821015610cbb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea264697066735822122050acc55b43f4fd212e40353cfc859a30f004e16849458c3e1566e8dc26381d2464736f6c63430008110033608060405234801561001057600080fd5b5061001961001e565b610266565b600054610100900460ff161580801561003e5750600054600160ff909116105b8061006957506100573061014560201b6106881760201c565b158015610069575060005460ff166001145b6100d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156100f4576000805461ff0019166101001790555b6100fc610154565b8015610142576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b600054610100900460ff166101ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b56101b7565b565b600054610100900460ff166102105760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b533603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a15806102756000396000f3fe6080604052600436106100705760003560e01c80638129fc1c1161004e5780638129fc1c146100b45780638da5cb5b146100c9578063a692979314610103578063f2fde38b1461013157600080fd5b806311bf2c18146100755780634e71d92d1461008a578063715018a61461009f575b600080fd5b610088610083366004610913565b610151565b005b34801561009657600080fd5b5061008861033b565b3480156100ab57600080fd5b50610088610426565b3480156100c057600080fd5b5061008861043a565b3480156100d557600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561010f57600080fd5b5061012361011e366004610959565b6105cb565b6040519081526020016100fa565b34801561013d57600080fd5b5061008861014c366004610983565b6105d4565b600061015d84846105cb565b9050803410156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600061020082346109a5565b905080156102f95760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610262576040519150601f19603f3d011682016040523d82523d6000602084013e610267565b606091505b50509050806102f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c65640000000000000000000000000000000000000000000000000000000060648201526084016101eb565b505b6040805185815234602082015287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b600061035c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff164760405160006040518083038185875af1925050503d80600081146103b3576040519150601f19603f3d011682016040523d82523d6000602084013e6103b8565b606091505b5050905080610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e73666572000000000000000000000000000000000000000000000060448201526064016101eb565b50565b61042e6106a4565b6104386000610725565b565b600054610100900460ff161580801561045a5750600054600160ff909116105b806104745750303b158015610474575060005460ff166001145b610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101eb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561055e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61056661079c565b801561042357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60015b92915050565b6105dc6106a4565b73ffffffffffffffffffffffffffffffffffffffff811661067f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101eb565b61042381610725565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101eb565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b610438600054610100900460ff166108cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b61043833610725565b803563ffffffff811681146108ea57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108ea57600080fd5b6000806000806080858703121561092957600080fd5b84359350610939602086016108d6565b92506040850135915061094e606086016108ef565b905092959194509250565b6000806040838503121561096c57600080fd5b610975836108d6565b946020939093013593505050565b60006020828403121561099557600080fd5b61099e826108ef565b9392505050565b818103818111156105ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220551d23686018c9aa03d5700c17e92cc43ecd7b61548577d103ae6b892ef0069a64736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea2646970667358221220a1a05fbfc54039f64706d6b983d8ed604b13adbd5a9e4e8990057c4b1a77b1d764736f6c63430008110033608060405234801561001057600080fd5b506122e5806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806395b1f3b3116100b2578063e9198bf911610081578063f2fde38b11610066578063f2fde38b146102bb578063f3c61d6b146102ce578063f8c8765e146102e157600080fd5b8063e9198bf914610295578063f1bd6f0a146102a857600080fd5b806395b1f3b31461022f578063b49c53a714610242578063d5438eae14610255578063de523cf31461027557600080fd5b806339bb4ad91161010957806356d5d475116100ee57806356d5d475146101f6578063715018a6146102095780638da5cb5b1461021157600080fd5b806339bb4ad91461019c578063440df4f4146101e157600080fd5b80630e72cc061461013b5780631227dba9146101505780632222b452146101765780632ead72f614610189575b600080fd5b61014e61014936600461175a565b6102f4565b005b61016361015e366004611a45565b610308565b6040519081526020015b60405180910390f35b610163610184366004611b02565b61040d565b610163610197366004611b95565b610567565b6066546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016d565b6101e96105a9565b60405161016d9190611bb0565b61014e610204366004611bfa565b610664565b61014e610757565b60335473ffffffffffffffffffffffffffffffffffffffff166101bc565b61016361023d366004611c54565b61076b565b61014e610250366004611cc7565b61086f565b6065546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b61014e6102a3366004611d36565b610885565b61014e6102b636600461175a565b610962565b61014e6102c936600461175a565b610973565b61014e6102dc36600461175a565b610a27565b61014e6102ef366004611d96565b610a38565b6102fc610bd1565b61030581610c52565b50565b600081518351146103a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f496e746572636861696e5175657279526f757465723a2063616c6c7320616e6460448201527f2063616c6c6261636b73206d7573742062652073616d65206c656e677468000060648201526084015b60405180910390fd5b6103d08460003386866040516020016103bc9493929190611f1f565b604051602081830303815290604052610d60565b604051909150339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e590600090a39392505050565b604080516001808252818301909252600091829190816020015b60408051808201909152600081526060602082015281526020019060019003908161042757905050905060405180604001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505083518492506104c1576104c1611fea565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816104e357905050905084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061054457610544611fea565b602002602001018190525061055a898383610308565b9998505050505050505050565b600061057d609863ffffffff80851690610e1216565b1561059c57610596609863ffffffff80851690610e2516565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156105cc576105cc61178b565b6040519080825280602002602001820160405280156105f5578160200160208202803683370190505b50905060005b825481101561065d5782818154811061061657610616611fea565b906000526020600020015460001c82828151811061063657610636611fea565b63ffffffff909216602092830291909101909101528061065581612048565b9150506105fb565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610397565b83836106f18282610e31565b60405180608001604052806043815260200161226d6043913990610742576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612080565b5061074f86868686610e45565b505050505050565b61075f610bd1565b6107696000610fab565b565b604080516001808252818301909252600091829190816020015b6040805180820190915260008152606060208201528152602001906001900390816107855790505090506107b885612093565b816000815181106107cb576107cb611fea565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816107ed57905050905084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061084e5761084e611fea565b6020026020010181905250610864878383610308565b979650505050505050565b610877610bd1565b6108818282611022565b5050565b61088d610bd1565b8281146108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610397565b60005b8381101561095b5761094985858381811061091657610916611fea565b905060200201602081019061092b9190611b95565b84848481811061093d5761093d611fea565b90506020020135611022565b61095460018261209f565b90506108f9565b5050505050565b61096a610bd1565b6103058161106f565b61097b610bd1565b73ffffffffffffffffffffffffffffffffffffffff8116610a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610397565b61030581610fab565b610a2f610bd1565b6103058161115e565b600054610100900460ff1615808015610a585750600054600160ff909116105b80610a725750303b158015610a72575060005460ff166001145b610afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610397565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b5c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b688585858561124d565b801561095b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610397565b73ffffffffffffffffffffffffffffffffffffffff81161580610c8b575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b600080610d6c8461130e565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610dc7908790859088906004016120b2565b6020604051808303816000875af1158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a91906120e0565b949350505050565b6000610e1e8383611379565b9392505050565b6000610e1e8383611385565b600081610e3d84610567565b149392505050565b60008282601f818110610e5a57610e5a611fea565b919091013560f81c90506001811115610e7557610e75611df2565b90506000816001811115610e8b57610e8b611df2565b03610f225760008080610ea085870187612108565b935093509350506000610eb3838361140f565b9050610ecf89600186846040516020016103bc9392919061218f565b5060405173ffffffffffffffffffffffffffffffffffffffff85169063ffffffff8b16907f23765aea2e90cfa5dadac549945f61c017334d01a9f242f49a070d9fb9a04a4690600090a35050505061095b565b6001816001811115610f3657610f36611df2565b0361095b57600080610f4a848601866121cb565b9250925050610f5982826115ea565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8916907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a350505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611038609863ffffffff8085169084906116a416565b604051819063ffffffff8416907f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645890600090a35050565b8073ffffffffffffffffffffffffffffffffffffffff81163b6110ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b6111dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff166112e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610397565b6112ed8461115e565b6112f68361106f565b6112ff82610c52565b61130881610fab565b50505050565b600061131982610567565b90506000801b81141560405180608001604052806043815260200161226d6043913990611373576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612080565b50919050565b6000610e1e83836116af565b6000818152600283016020526040812054801515806113a957506113a98484611379565b610e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610397565b6060815167ffffffffffffffff81111561142b5761142b61178b565b60405190808252806020026020018201604052801561145e57816020015b60608152602001906001900390816114495790505b50905060005b835181101561065d5760008085838151811061148257611482611fea565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106114b6576114b6611fea565b6020026020010151602001516040516114cf9190612221565b6000604051808303816000865af19150503d806000811461150c576040519150601f19603f3d011682016040523d82523d6000602084013e611511565b606091505b50915091508161157d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d756c746963616c6c3a2063616c6c206661696c6564000000000000000000006044820152606401610397565b84838151811061158f5761158f611fea565b6020026020010151816040516020016115a992919061223d565b6040516020818303038152906040528484815181106115ca576115ca611fea565b6020026020010181905250505080806115e290612048565b915050611464565b60005b815181101561169f576000808473ffffffffffffffffffffffffffffffffffffffff1684848151811061162257611622611fea565b60200260200101516040516116379190612221565b6000604051808303816000865af19150503d8060008114611674576040519150601f19603f3d011682016040523d82523d6000602084013e611679565b606091505b50915091508161168a578060208201fd5b50611698905060018261209f565b90506115ed565b505050565b6113088383836116c7565b60008181526001830160205260408120541515610e1e565b60008281526002840160205260408120829055610e0a84846000818152600183016020526040812054610e1e9084908490849061173057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610596565b506000610596565b73ffffffffffffffffffffffffffffffffffffffff8116811461030557600080fd5b60006020828403121561176c57600080fd5b8135610e1e81611738565b803563ffffffff811681146105a457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156118015761180161178b565b604052919050565b600067ffffffffffffffff8211156118235761182361178b565b5060051b60200190565b600082601f83011261183e57600080fd5b813567ffffffffffffffff8111156118585761185861178b565b61188960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016117ba565b81815284602083860101111561189e57600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156118cd57600080fd5b6040516040810167ffffffffffffffff82821081831117156118f1576118f161178b565b816040528293508435915061190582611738565b9082526020840135908082111561191b57600080fd5b506119288582860161182d565b6020830152505092915050565b600082601f83011261194657600080fd5b8135602061195b61195683611809565b6117ba565b82815260059290921b8401810191818101908684111561197a57600080fd5b8286015b848110156119ba57803567ffffffffffffffff81111561199e5760008081fd5b6119ac8986838b01016118bb565b84525091830191830161197e565b509695505050505050565b600082601f8301126119d657600080fd5b813560206119e661195683611809565b82815260059290921b84018101918181019086841115611a0557600080fd5b8286015b848110156119ba57803567ffffffffffffffff811115611a295760008081fd5b611a378986838b010161182d565b845250918301918301611a09565b600080600060608486031215611a5a57600080fd5b611a6384611777565b9250602084013567ffffffffffffffff80821115611a8057600080fd5b611a8c87838801611935565b93506040860135915080821115611aa257600080fd5b50611aaf868287016119c5565b9150509250925092565b60008083601f840112611acb57600080fd5b50813567ffffffffffffffff811115611ae357600080fd5b602083019150836020828501011115611afb57600080fd5b9250929050565b60008060008060008060808789031215611b1b57600080fd5b611b2487611777565b95506020870135611b3481611738565b9450604087013567ffffffffffffffff80821115611b5157600080fd5b611b5d8a838b01611ab9565b90965094506060890135915080821115611b7657600080fd5b50611b8389828a01611ab9565b979a9699509497509295939492505050565b600060208284031215611ba757600080fd5b610e1e82611777565b6020808252825182820181905260009190848201906040850190845b81811015611bee57835163ffffffff1683529284019291840191600101611bcc565b50909695505050505050565b60008060008060608587031215611c1057600080fd5b611c1985611777565b935060208501359250604085013567ffffffffffffffff811115611c3c57600080fd5b611c4887828801611ab9565b95989497509550505050565b60008060008060608587031215611c6a57600080fd5b611c7385611777565b9350602085013567ffffffffffffffff80821115611c9057600080fd5b9086019060408289031215611ca457600080fd5b90935060408601359080821115611cba57600080fd5b50611c4887828801611ab9565b60008060408385031215611cda57600080fd5b611ce383611777565b946020939093013593505050565b60008083601f840112611d0357600080fd5b50813567ffffffffffffffff811115611d1b57600080fd5b6020830191508360208260051b8501011115611afb57600080fd5b60008060008060408587031215611d4c57600080fd5b843567ffffffffffffffff80821115611d6457600080fd5b611d7088838901611cf1565b90965094506020870135915080821115611d8957600080fd5b50611c4887828801611cf1565b60008060008060808587031215611dac57600080fd5b8435611db781611738565b93506020850135611dc781611738565b92506040850135611dd781611738565b91506060850135611de781611738565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611e58577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b83811015611e77578181015183820152602001611e5f565b50506000910152565b60008151808452611e98816020860160208601611e5c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015611f12578284038952611f00848351611e80565b98850198935090840190600101611ee8565b5091979650505050505050565b600060808201611f2f8388611e21565b602073ffffffffffffffffffffffffffffffffffffffff80881682860152604060808187015283885180865260a08801915060a08160051b8901019550848a0160005b82811015611fd1578988037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600184528151805187168952870151878901869052611fbe868a0182611e80565b9850509286019290860190600101611f72565b5050505050505082810360608401526108648185611eca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361207957612079612019565b5060010190565b602081526000610e1e6020830184611e80565b600061059636836118bb565b8082018082111561059657610596612019565b63ffffffff841681528260208201526060604082015260006120d76060830184611e80565b95945050505050565b6000602082840312156120f257600080fd5b5051919050565b8035600281106105a457600080fd5b6000806000806080858703121561211e57600080fd5b612127856120f9565b9350602085013561213781611738565b9250604085013567ffffffffffffffff8082111561215457600080fd5b61216088838901611935565b9350606087013591508082111561217657600080fd5b50612183878288016119c5565b91505092959194509250565b6121998185611e21565b73ffffffffffffffffffffffffffffffffffffffff831660208201526060604082015260006120d76060830184611eca565b6000806000606084860312156121e057600080fd5b6121e9846120f9565b925060208401356121f981611738565b9150604084013567ffffffffffffffff81111561221557600080fd5b611aaf868287016119c5565b60008251612233818460208701611e5c565b9190910192915050565b6000835161224f818460208801611e5c565b835190830190612263818360208801611e5c565b0194935050505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa2646970667358221220f5659e70c6995d6fc1922a17dafb016637a483c8fa304a247ab02bfa00c0c87f64736f6c63430008110033";
|
|
114
|
+
const _bytecode = "0x608060405234801561001057600080fd5b50604051614a99380380614a9983398101604081905261002f91610682565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610635565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610635565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610642565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610642565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102689061064f565b604051809103906000f080158015610284573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b039390931692909217909155516102c59061064f565b604051809103906000f0801580156102e1573d6000803e3d6000fd5b5060008054640100000000900463ffffffff908116825260036020908152604080842080546001600160a01b03199081166001600160a01b039788161790915589841685526001909252808420805483168887161790559187168352818320805490911693851693909317909255905161035a9061065c565b604051809103906000f080158015610376573d6000803e3d6000fd5b50905060006040516103879061065c565b604051809103906000f0801580156103a3573d6000803e3d6000fd5b506000805463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b03888116600483015291821660248201529181166044830152306064830181905292935084169063f8c8765e90608401600060405180830381600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505060008054640100000000900463ffffffff16815260026020908152604080832054600390925291829020549151637c643b2f60e11b81526001600160a01b0389811660048301529182166024820152918116604483015284811660648301528516925063f8c8765e9150608401600060405180830381600087803b1580156104c157600080fd5b505af11580156104d5573d6000803e3d6000fd5b50505050826001600160a01b031663b49c53a7876104fc8561062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b15801561054057600080fd5b505af1158015610554573d6000803e3d6000fd5b50505050816001600160a01b031663b49c53a78861057b8661062960201b61029e1760201c565b6040516001600160e01b031960e085901b16815263ffffffff9290921660048301526024820152604401600060405180830381600087803b1580156105bf57600080fd5b505af11580156105d3573d6000803e3d6000fd5b5050505063ffffffff96871660009081526004602052604080822080546001600160a01b03199081166001600160a01b0397881617909155979098168152969096208054909516911617909255506106b5915050565b6001600160a01b031690565b610e2e806109de83390190565b610caa8061180c83390190565b61021e806124b683390190565b6123c5806126d483390190565b805163ffffffff8116811461067d57600080fd5b919050565b6000806040838503121561069557600080fd5b61069e83610669565b91506106ac60208401610669565b90509250929050565b61031a806106c46000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063f11a367e11610050578063f11a367e14610142578063f9d2692d14610178578063f9f312ad1461018257600080fd5b80635a007b7e146100775780637a7eada3146100d6578063e9ee46951461010c575b600080fd5b6100ad6100853660046102b7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100e43660046102b7565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad61011a3660046102b7565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100ad6101503660046102b7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018061018a565b005b61018061021d565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b505af1158015610217573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561020357600080fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b6000602082840312156102c957600080fd5b813563ffffffff811681146102dd57600080fd5b939250505056fea2646970667358221220079a101f1b04c5d5598f70db46fc4f39f5c1e29a0fb1f107210949d1dc6c44a764736f6c6343000811003360c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610e2e380380610e2e8339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610d866100a8600039600061025401526000818161016201526107500152610d866000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610233578063fd10ebe514610246578063ffa1ad741461024f57600080fd5b806392d28b3d146101ac578063a3b4919f146101cf578063d12164e41461022a57600080fd5b80638209d312116100b25780638209d312146101415780638d3638f41461015d578063924324aa1461019957600080fd5b80631605c306146100ce57806359b3f6e0146100d8575b600080fd5b6100d6610276565b005b6100d66100e6366004610811565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61014a60015481565b6040519081526020015b60405180910390f35b6101847f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610154565b6100d66101a7366004610891565b61043a565b6101bf6101ba36600461090b565b610599565b6040516101549493929190610988565b6102056101dd3660046109d7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610154565b61014a60025481565b61014a6102413660046109f9565b61066f565b61014a60005481565b6101847f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff6401000000009091048116948201949094526001820154909316918301919091529283018054929391926060840191906102ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610a53565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103cc846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b81526004016103ef93929190610aa6565b600060405180830381600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b50506002805492509050600061043283610ad4565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061057a9082610bb1565b5050600180549150600061058d83610ad4565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff9081169493169291906105ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461061890610a53565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905084565b63ffffffff841660009081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f7800000000000000000000604482015260640160405180910390fd5b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610780907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610ccb565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b50506000805492509050806107c283610ad4565b909155506000979650505050505050565b803563ffffffff811681146107e757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080e57600080fd5b50565b6000806040838503121561082457600080fd5b61082d836107d3565b9150602083013561083d816107ec565b809150509250929050565b60008083601f84011261085a57600080fd5b50813567ffffffffffffffff81111561087257600080fd5b60208301915083602082850101111561088a57600080fd5b9250929050565b6000806000806000608086880312156108a957600080fd5b6108b2866107d3565b945060208601356108c2816107ec565b935060408601356108d2816107ec565b9250606086013567ffffffffffffffff8111156108ee57600080fd5b6108fa88828901610848565b969995985093965092949392505050565b60006020828403121561091d57600080fd5b5035919050565b6000815180845260005b8181101561094a5760208185018101518683018201520161092e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff8086166020840152808516604084015250608060608301526109cd6080830184610924565b9695505050505050565b6000602082840312156109e957600080fd5b6109f2826107d3565b9392505050565b60008060008060608587031215610a0f57600080fd5b610a18856107d3565b935060208501359250604085013567ffffffffffffffff811115610a3b57600080fd5b610a4787828801610848565b95989497509550505050565b600181811c90821680610a6757607f821691505b602082108103610aa0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610acb6060830184610924565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610bac57600081815260208120601f850160051c81016020861015610b895750805b601f850160051c820191505b81811015610ba857828155600101610b95565b5050505b505050565b815167ffffffffffffffff811115610bcb57610bcb610b33565b610bdf81610bd98454610a53565b84610b62565b602080601f831160018114610c325760008415610bfc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ba8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c7f57888601518255948401946001909101908401610c60565b5085821015610cbb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea2646970667358221220279cc4c42a2de41ad9187b3351e9c0ea0527e76fcc182238a7cb83bd3b95f32264736f6c63430008110033608060405234801561001057600080fd5b5061001961001e565b610266565b600054610100900460ff161580801561003e5750600054600160ff909116105b8061006957506100573061014560201b6106881760201c565b158015610069575060005460ff166001145b6100d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156100f4576000805461ff0019166101001790555b6100fc610154565b8015610142576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b600054610100900460ff166101ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b56101b7565b565b600054610100900460ff166102105760405162461bcd60e51b815260206004820152602b6024820152600080516020610c8a83398151915260448201526a6e697469616c697a696e6760a81b60648201526084016100c8565b6101b533603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a15806102756000396000f3fe6080604052600436106100705760003560e01c80638129fc1c1161004e5780638129fc1c146100b45780638da5cb5b146100c9578063a692979314610103578063f2fde38b1461013157600080fd5b806311bf2c18146100755780634e71d92d1461008a578063715018a61461009f575b600080fd5b610088610083366004610913565b610151565b005b34801561009657600080fd5b5061008861033b565b3480156100ab57600080fd5b50610088610426565b3480156100c057600080fd5b5061008861043a565b3480156100d557600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561010f57600080fd5b5061012361011e366004610959565b6105cb565b6040519081526020016100fa565b34801561013d57600080fd5b5061008861014c366004610983565b6105d4565b600061015d84846105cb565b9050803410156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f696e73756666696369656e7420696e746572636861696e20676173207061796d60448201527f656e74000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600061020082346109a5565b905080156102f95760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610262576040519150601f19603f3d011682016040523d82523d6000602084013e610267565b606091505b50509050806102f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e746572636861696e20676173207061796d656e7420726566756e6420666160448201527f696c65640000000000000000000000000000000000000000000000000000000060648201526084016101eb565b505b6040805185815234602082015287917ff715e66d2cd2a0179069dcda2a41a4da36a30e1aad12187fbb7c5d100afd621c910160405180910390a2505050505050565b600061035c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff164760405160006040518083038185875af1925050503d80600081146103b3576040519150601f19603f3d011682016040523d82523d6000602084013e6103b8565b606091505b5050905080610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f217472616e73666572000000000000000000000000000000000000000000000060448201526064016101eb565b50565b61042e6106a4565b6104386000610725565b565b600054610100900460ff161580801561045a5750600054600160ff909116105b806104745750303b158015610474575060005460ff166001145b610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101eb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561055e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61056661079c565b801561042357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60015b92915050565b6105dc6106a4565b73ffffffffffffffffffffffffffffffffffffffff811661067f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101eb565b61042381610725565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101eb565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b610438600054610100900460ff166108cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016101eb565b61043833610725565b803563ffffffff811681146108ea57600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108ea57600080fd5b6000806000806080858703121561092957600080fd5b84359350610939602086016108d6565b92506040850135915061094e606086016108ef565b905092959194509250565b6000806040838503121561096c57600080fd5b610975836108d6565b946020939093013593505050565b60006020828403121561099557600080fd5b61099e826108ef565b9392505050565b818103818111156105ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122040f5ccccff4ea19101e77fe52c15c47e65b3e632e77975bc4a97fc4d84e57ccb64736f6c63430008110033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069608060405234801561001057600080fd5b506101fe806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632852b71c146100515780634fc3aa7c146100735780636465e69f146100b4578063f7e83aee146100ce575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b6100b26100813660046100ea565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100bc600081565b60405160ff909116815260200161006a565b61005e6100dc36600461015c565b60005460ff16949350505050565b6000602082840312156100fc57600080fd5b8135801515811461010c57600080fd5b9392505050565b60008083601f84011261012557600080fd5b50813567ffffffffffffffff81111561013d57600080fd5b60208301915083602082850101111561015557600080fd5b9250929050565b6000806000806040858703121561017257600080fd5b843567ffffffffffffffff8082111561018a57600080fd5b61019688838901610113565b909650945060208701359150808211156101af57600080fd5b506101bc87828801610113565b9598949750955050505056fea2646970667358221220a1a05fbfc54039f64706d6b983d8ed604b13adbd5a9e4e8990057c4b1a77b1d764736f6c63430008110033608060405234801561001057600080fd5b506123a5806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806395b1f3b3116100b2578063e9198bf911610081578063f2fde38b11610066578063f2fde38b146102bb578063f3c61d6b146102ce578063f8c8765e146102e157600080fd5b8063e9198bf914610295578063f1bd6f0a146102a857600080fd5b806395b1f3b31461022f578063b49c53a714610242578063d5438eae14610255578063de523cf31461027557600080fd5b806339bb4ad91161010957806356d5d475116100ee57806356d5d475146101f6578063715018a6146102095780638da5cb5b1461021157600080fd5b806339bb4ad91461019c578063440df4f4146101e157600080fd5b80630e72cc061461013b5780631227dba9146101505780632222b452146101765780632ead72f614610189575b600080fd5b61014e61014936600461181a565b6102f4565b005b61016361015e366004611b05565b610308565b6040519081526020015b60405180910390f35b610163610184366004611bc2565b61040d565b610163610197366004611c55565b610567565b6066546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016d565b6101e96105a9565b60405161016d9190611c70565b61014e610204366004611cba565b610664565b61014e610757565b60335473ffffffffffffffffffffffffffffffffffffffff166101bc565b61016361023d366004611d14565b61076b565b61014e610250366004611d87565b61086f565b6065546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101bc9073ffffffffffffffffffffffffffffffffffffffff1681565b61014e6102a3366004611df6565b610885565b61014e6102b636600461181a565b610962565b61014e6102c936600461181a565b610973565b61014e6102dc36600461181a565b610a27565b61014e6102ef366004611e56565b610a38565b6102fc610bd1565b61030581610c52565b50565b600081518351146103a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f496e746572636861696e5175657279526f757465723a2063616c6c7320616e6460448201527f2063616c6c6261636b73206d7573742062652073616d65206c656e677468000060648201526084015b60405180910390fd5b6103d08460003386866040516020016103bc9493929190611fdf565b604051602081830303815290604052610d60565b604051909150339063ffffffff8616907f11c97c784c298562a796345417aa40e1ce110e6b100f41b801ab23414f72d7e590600090a39392505050565b604080516001808252818301909252600091829190816020015b60408051808201909152600081526060602082015281526020019060019003908161042757905050905060405180604001604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505083518492506104c1576104c16120aa565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816104e357905050905084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250855186945090925015159050610544576105446120aa565b602002602001018190525061055a898383610308565b9998505050505050505050565b600061057d609863ffffffff80851690610e1216565b1561059c57610596609863ffffffff80851690610e2516565b92915050565b506000919050565b919050565b609880546060919060009067ffffffffffffffff8111156105cc576105cc61184b565b6040519080825280602002602001820160405280156105f5578160200160208202803683370190505b50905060005b825481101561065d57828181548110610616576106166120aa565b906000526020600020015460001c828281518110610636576106366120aa565b63ffffffff909216602092830291909101909101528061065581612108565b9150506105fb565b5092915050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610397565b83836106f18282610e31565b60405180608001604052806043815260200161232d6043913990610742576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612140565b5061074f86868686610e45565b505050505050565b61075f610bd1565b6107696000610fc2565b565b604080516001808252818301909252600091829190816020015b6040805180820190915260008152606060208201528152602001906001900390816107855790505090506107b885612153565b816000815181106107cb576107cb6120aa565b6020908102919091010152604080516001808252818301909252600091816020015b60608152602001906001900390816107ed57905050905084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525085518694509092501515905061084e5761084e6120aa565b6020026020010181905250610864878383610308565b979650505050505050565b610877610bd1565b6108818282611039565b5050565b61088d610bd1565b8281146108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610397565b60005b8381101561095b57610949858583818110610916576109166120aa565b905060200201602081019061092b9190611c55565b84848481811061093d5761093d6120aa565b90506020020135611039565b61095460018261215f565b90506108f9565b5050505050565b61096a610bd1565b61030581611086565b61097b610bd1565b73ffffffffffffffffffffffffffffffffffffffff8116610a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610397565b61030581610fc2565b610a2f610bd1565b61030581611175565b600054610100900460ff1615808015610a585750600054600160ff909116105b80610a725750303b158015610a72575060005460ff166001145b610afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610397565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b5c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b6885858585611264565b801561095b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610397565b73ffffffffffffffffffffffffffffffffffffffff81161580610c8b575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b600080610d6c84611325565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610dc790879085908890600401612172565b6020604051808303816000875af1158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a91906121a0565b949350505050565b6000610e1e8383611390565b9392505050565b6000610e1e838361139c565b600081610e3d84610567565b149392505050565b60008282601f818110610e5a57610e5a6120aa565b919091013560f81c90506001811115610e7557610e75611eb2565b90506000816001811115610e8b57610e8b611eb2565b03610f215760008080610ea0858701876121c8565b91955093509150610eb390508282611426565b9050610ecf88600185846040516020016103bc9392919061224f565b5060405173ffffffffffffffffffffffffffffffffffffffff84169063ffffffff8a16907f23765aea2e90cfa5dadac549945f61c017334d01a9f242f49a070d9fb9a04a4690600090a350505061095b565b6001816001811115610f3557610f35611eb2565b0361095b57600080610f498486018661228b565b9093509150610f70905073ffffffffffffffffffffffffffffffffffffffff8316826114ea565b60405173ffffffffffffffffffffffffffffffffffffffff83169063ffffffff8916907fc4416e2fcdf8514178829e5ead195eb13f3241ea71c0e38f998868fe81e4226990600090a350505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61104f609863ffffffff80851690849061152716565b604051819063ffffffff8416907f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645890600090a35050565b8073ffffffffffffffffffffffffffffffffffffffff81163b611105576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b6111f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610397565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff166112fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610397565b61130484611175565b61130d83611086565b61131682610c52565b61131f81610fc2565b50505050565b600061133082610567565b90506000801b81141560405180608001604052806043815260200161232d604391399061138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612140565b50919050565b6000610e1e8383611532565b6000818152600283016020526040812054801515806113c057506113c08484611390565b610e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610397565b815181906000905b808210156114e257600061147c86848151811061144d5761144d6120aa565b60200260200101516000015187858151811061146b5761146b6120aa565b60200260200101516020015161154a565b9050848381518110611490576114906120aa565b6020026020010151816040516020016114aa9291906122e1565b6040516020818303038152906040528484815181106114cb576114cb6120aa565b60200260200101819052508260010192505061142e565b505092915050565b80516000905b8082101561131f5761151b8484848151811061150e5761150e6120aa565b602002602001015161154a565b508160010191506114f0565b61131f83838361158e565b60008181526001830160205260408120541515610e1e565b6060610e1e838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506115ab565b60008281526002840160205260408120829055610e0a84846116b9565b60608247101561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610397565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116669190612310565b60006040518083038185875af1925050503d80600081146116a3576040519150601f19603f3d011682016040523d82523d6000602084013e6116a8565b606091505b5091509150610864878383876116c5565b6000610e1e8383611765565b6060831561175b5782516000036117545773ffffffffffffffffffffffffffffffffffffffff85163b611754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610397565b5081610e0a565b610e0a83836117b4565b60008181526001830160205260408120546117ac57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610596565b506000610596565b8151156117c45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103979190612140565b73ffffffffffffffffffffffffffffffffffffffff8116811461030557600080fd5b60006020828403121561182c57600080fd5b8135610e1e816117f8565b803563ffffffff811681146105a457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156118c1576118c161184b565b604052919050565b600067ffffffffffffffff8211156118e3576118e361184b565b5060051b60200190565b600082601f8301126118fe57600080fd5b813567ffffffffffffffff8111156119185761191861184b565b61194960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161187a565b81815284602083860101111561195e57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121561198d57600080fd5b6040516040810167ffffffffffffffff82821081831117156119b1576119b161184b565b81604052829350843591506119c5826117f8565b908252602084013590808211156119db57600080fd5b506119e8858286016118ed565b6020830152505092915050565b600082601f830112611a0657600080fd5b81356020611a1b611a16836118c9565b61187a565b82815260059290921b84018101918181019086841115611a3a57600080fd5b8286015b84811015611a7a57803567ffffffffffffffff811115611a5e5760008081fd5b611a6c8986838b010161197b565b845250918301918301611a3e565b509695505050505050565b600082601f830112611a9657600080fd5b81356020611aa6611a16836118c9565b82815260059290921b84018101918181019086841115611ac557600080fd5b8286015b84811015611a7a57803567ffffffffffffffff811115611ae95760008081fd5b611af78986838b01016118ed565b845250918301918301611ac9565b600080600060608486031215611b1a57600080fd5b611b2384611837565b9250602084013567ffffffffffffffff80821115611b4057600080fd5b611b4c878388016119f5565b93506040860135915080821115611b6257600080fd5b50611b6f86828701611a85565b9150509250925092565b60008083601f840112611b8b57600080fd5b50813567ffffffffffffffff811115611ba357600080fd5b602083019150836020828501011115611bbb57600080fd5b9250929050565b60008060008060008060808789031215611bdb57600080fd5b611be487611837565b95506020870135611bf4816117f8565b9450604087013567ffffffffffffffff80821115611c1157600080fd5b611c1d8a838b01611b79565b90965094506060890135915080821115611c3657600080fd5b50611c4389828a01611b79565b979a9699509497509295939492505050565b600060208284031215611c6757600080fd5b610e1e82611837565b6020808252825182820181905260009190848201906040850190845b81811015611cae57835163ffffffff1683529284019291840191600101611c8c565b50909695505050505050565b60008060008060608587031215611cd057600080fd5b611cd985611837565b935060208501359250604085013567ffffffffffffffff811115611cfc57600080fd5b611d0887828801611b79565b95989497509550505050565b60008060008060608587031215611d2a57600080fd5b611d3385611837565b9350602085013567ffffffffffffffff80821115611d5057600080fd5b9086019060408289031215611d6457600080fd5b90935060408601359080821115611d7a57600080fd5b50611d0887828801611b79565b60008060408385031215611d9a57600080fd5b611da383611837565b946020939093013593505050565b60008083601f840112611dc357600080fd5b50813567ffffffffffffffff811115611ddb57600080fd5b6020830191508360208260051b8501011115611bbb57600080fd5b60008060008060408587031215611e0c57600080fd5b843567ffffffffffffffff80821115611e2457600080fd5b611e3088838901611db1565b90965094506020870135915080821115611e4957600080fd5b50611d0887828801611db1565b60008060008060808587031215611e6c57600080fd5b8435611e77816117f8565b93506020850135611e87816117f8565b92506040850135611e97816117f8565b91506060850135611ea7816117f8565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611f18577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b60005b83811015611f37578181015183820152602001611f1f565b50506000910152565b60008151808452611f58816020860160208601611f1c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015611fd2578284038952611fc0848351611f40565b98850198935090840190600101611fa8565b5091979650505050505050565b600060808201611fef8388611ee1565b602073ffffffffffffffffffffffffffffffffffffffff80881682860152604060808187015283885180865260a08801915060a08160051b8901019550848a0160005b82811015612091578988037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60018452815180518716895287015187890186905261207e868a0182611f40565b9850509286019290860190600101612032565b5050505050505082810360608401526108648185611f8a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612139576121396120d9565b5060010190565b602081526000610e1e6020830184611f40565b6000610596368361197b565b80820180821115610596576105966120d9565b63ffffffff841681528260208201526060604082015260006121976060830184611f40565b95945050505050565b6000602082840312156121b257600080fd5b5051919050565b8035600281106105a457600080fd5b600080600080608085870312156121de57600080fd5b6121e7856121b9565b935060208501356121f7816117f8565b9250604085013567ffffffffffffffff8082111561221457600080fd5b612220888389016119f5565b9350606087013591508082111561223657600080fd5b5061224387828801611a85565b91505092959194509250565b6122598185611ee1565b73ffffffffffffffffffffffffffffffffffffffff831660208201526060604082015260006121976060830184611f8a565b6000806000606084860312156122a057600080fd5b6122a9846121b9565b925060208401356122b9816117f8565b9150604084013567ffffffffffffffff8111156122d557600080fd5b611b6f86828701611a85565b600083516122f3818460208801611f1c565b835190830190612307818360208801611f1c565b01949350505050565b60008251612322818460208701611f1c565b919091019291505056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa2646970667358221220ba8fc91282d2cfd8b6379203584c8d04dc132df55f7ee00b462f40315995076964736f6c63430008110033";
|
|
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,iCAAiC;gBAC/C,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,iCAAiC;gBAC/C,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,szqCAAszqC,CAAC;AAMzzqC,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 = "0x60c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610e2e380380610e2e8339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610d866100a8600039600061025401526000818161016201526107500152610d866000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610233578063fd10ebe514610246578063ffa1ad741461024f57600080fd5b806392d28b3d146101ac578063a3b4919f146101cf578063d12164e41461022a57600080fd5b80638209d312116100b25780638209d312146101415780638d3638f41461015d578063924324aa1461019957600080fd5b80631605c306146100ce57806359b3f6e0146100d8575b600080fd5b6100d6610276565b005b6100d66100e6366004610811565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61014a60015481565b6040519081526020015b60405180910390f35b6101847f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610154565b6100d66101a7366004610891565b61043a565b6101bf6101ba36600461090b565b610599565b6040516101549493929190610988565b6102056101dd3660046109d7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610154565b61014a60025481565b61014a6102413660046109f9565b61066f565b61014a60005481565b6101847f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff6401000000009091048116948201949094526001820154909316918301919091529283018054929391926060840191906102ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610a53565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103cc846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b81526004016103ef93929190610aa6565b600060405180830381600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b50506002805492509050600061043283610ad4565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061057a9082610bb1565b5050600180549150600061058d83610ad4565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff9081169493169291906105ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461061890610a53565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905084565b63ffffffff841660009081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f7800000000000000000000604482015260640160405180910390fd5b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610780907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610ccb565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b50506000805492509050806107c283610ad4565b909155506000979650505050505050565b803563ffffffff811681146107e757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080e57600080fd5b50565b6000806040838503121561082457600080fd5b61082d836107d3565b9150602083013561083d816107ec565b809150509250929050565b60008083601f84011261085a57600080fd5b50813567ffffffffffffffff81111561087257600080fd5b60208301915083602082850101111561088a57600080fd5b9250929050565b6000806000806000608086880312156108a957600080fd5b6108b2866107d3565b945060208601356108c2816107ec565b935060408601356108d2816107ec565b9250606086013567ffffffffffffffff8111156108ee57600080fd5b6108fa88828901610848565b969995985093965092949392505050565b60006020828403121561091d57600080fd5b5035919050565b6000815180845260005b8181101561094a5760208185018101518683018201520161092e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff8086166020840152808516604084015250608060608301526109cd6080830184610924565b9695505050505050565b6000602082840312156109e957600080fd5b6109f2826107d3565b9392505050565b60008060008060608587031215610a0f57600080fd5b610a18856107d3565b935060208501359250604085013567ffffffffffffffff811115610a3b57600080fd5b610a4787828801610848565b95989497509550505050565b600181811c90821680610a6757607f821691505b602082108103610aa0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610acb6060830184610924565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610bac57600081815260208120601f850160051c81016020861015610b895750805b601f850160051c820191505b81811015610ba857828155600101610b95565b5050505b505050565b815167ffffffffffffffff811115610bcb57610bcb610b33565b610bdf81610bd98454610a53565b84610b62565b602080601f831160018114610c325760008415610bfc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ba8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c7f57888601518255948401946001909101908401610c60565b5085821015610cbb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea2646970667358221220279cc4c42a2de41ad9187b3351e9c0ea0527e76fcc182238a7cb83bd3b95f32264736f6c63430008110033";
|
|
16
16
|
static readonly abi: ({
|
|
17
17
|
inputs: {
|
|
18
18
|
internalType: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockMailbox__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockMailbox__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,MAAM,EAGN,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,QAAQ,CAAC;AA2NhB,aAAK,4BAA4B,GAC7B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,GAAG,IAAI,EAAE,4BAA4B;IAQxC,MAAM,CACb,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,WAAW,CAAC;IAGd,oBAAoB,CAC3B,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAGpC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAItD,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"MockMailbox__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockMailbox__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,MAAM,EAGN,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,QAAQ,CAAC;AA2NhB,aAAK,4BAA4B,GAC7B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,GAAG,IAAI,EAAE,4BAA4B;IAQxC,MAAM,CACb,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,WAAW,CAAC;IAGd,oBAAoB,CAC3B,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAGpC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAItD,MAAM,CAAC,QAAQ,CAAC,QAAQ,omOAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;SAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,oBAAoB;IAG9C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,WAAW;CAGf"}
|
|
@@ -15,6 +15,19 @@ const _abi = [
|
|
|
15
15
|
stateMutability: "nonpayable",
|
|
16
16
|
type: "constructor",
|
|
17
17
|
},
|
|
18
|
+
{
|
|
19
|
+
inputs: [],
|
|
20
|
+
name: "VERSION",
|
|
21
|
+
outputs: [
|
|
22
|
+
{
|
|
23
|
+
internalType: "uint32",
|
|
24
|
+
name: "",
|
|
25
|
+
type: "uint32",
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
stateMutability: "view",
|
|
29
|
+
type: "function",
|
|
30
|
+
},
|
|
18
31
|
{
|
|
19
32
|
inputs: [
|
|
20
33
|
{
|
|
@@ -90,19 +103,6 @@ const _abi = [
|
|
|
90
103
|
stateMutability: "nonpayable",
|
|
91
104
|
type: "function",
|
|
92
105
|
},
|
|
93
|
-
{
|
|
94
|
-
inputs: [],
|
|
95
|
-
name: "domain",
|
|
96
|
-
outputs: [
|
|
97
|
-
{
|
|
98
|
-
internalType: "uint32",
|
|
99
|
-
name: "",
|
|
100
|
-
type: "uint32",
|
|
101
|
-
},
|
|
102
|
-
],
|
|
103
|
-
stateMutability: "view",
|
|
104
|
-
type: "function",
|
|
105
|
-
},
|
|
106
106
|
{
|
|
107
107
|
inputs: [
|
|
108
108
|
{
|
|
@@ -163,6 +163,19 @@ const _abi = [
|
|
|
163
163
|
stateMutability: "view",
|
|
164
164
|
type: "function",
|
|
165
165
|
},
|
|
166
|
+
{
|
|
167
|
+
inputs: [],
|
|
168
|
+
name: "localDomain",
|
|
169
|
+
outputs: [
|
|
170
|
+
{
|
|
171
|
+
internalType: "uint32",
|
|
172
|
+
name: "",
|
|
173
|
+
type: "uint32",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
stateMutability: "view",
|
|
177
|
+
type: "function",
|
|
178
|
+
},
|
|
166
179
|
{
|
|
167
180
|
inputs: [],
|
|
168
181
|
name: "outboundNonce",
|
|
@@ -202,21 +215,8 @@ const _abi = [
|
|
|
202
215
|
stateMutability: "view",
|
|
203
216
|
type: "function",
|
|
204
217
|
},
|
|
205
|
-
{
|
|
206
|
-
inputs: [],
|
|
207
|
-
name: "version",
|
|
208
|
-
outputs: [
|
|
209
|
-
{
|
|
210
|
-
internalType: "uint32",
|
|
211
|
-
name: "",
|
|
212
|
-
type: "uint32",
|
|
213
|
-
},
|
|
214
|
-
],
|
|
215
|
-
stateMutability: "view",
|
|
216
|
-
type: "function",
|
|
217
|
-
},
|
|
218
218
|
];
|
|
219
|
-
const _bytecode = "
|
|
219
|
+
const _bytecode = "0x60c0604052600060a0819052808055600181905560025534801561002257600080fd5b50604051610e2e380380610e2e8339810160408190526100419161004f565b63ffffffff1660805261007c565b60006020828403121561006157600080fd5b815163ffffffff8116811461007557600080fd5b9392505050565b60805160a051610d866100a8600039600061025401526000818161016201526107500152610d866000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806392d28b3d11610081578063fa31de011161005b578063fa31de0114610233578063fd10ebe514610246578063ffa1ad741461024f57600080fd5b806392d28b3d146101ac578063a3b4919f146101cf578063d12164e41461022a57600080fd5b80638209d312116100b25780638209d312146101415780638d3638f41461015d578063924324aa1461019957600080fd5b80631605c306146100ce57806359b3f6e0146100d8575b600080fd5b6100d6610276565b005b6100d66100e6366004610811565b63ffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61014a60015481565b6040519081526020015b60405180910390f35b6101847f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610154565b6100d66101a7366004610891565b61043a565b6101bf6101ba36600461090b565b610599565b6040516101549493929190610988565b6102056101dd3660046109d7565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610154565b61014a60025481565b61014a6102413660046109f9565b61066f565b61014a60005481565b6101847f000000000000000000000000000000000000000000000000000000000000000081565b6002805460009081526004602090815260408083208151608081018352815463ffffffff8116825273ffffffffffffffffffffffffffffffffffffffff6401000000009091048116948201949094526001820154909316918301919091529283018054929391926060840191906102ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610a53565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050815250509050806040015173ffffffffffffffffffffffffffffffffffffffff166356d5d47582600001516103cc846020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1690565b84606001516040518463ffffffff1660e01b81526004016103ef93929190610aa6565b600060405180830381600087803b15801561040957600080fd5b505af115801561041d573d6000803e3d6000fd5b50506002805492509050600061043283610ad4565b919050555050565b60405180608001604052808663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060018054825260046020908152604092839020855181549287015163ffffffff9091167fffffffffffffffff0000000000000000000000000000000000000000000000009093169290921764010000000073ffffffffffffffffffffffffffffffffffffffff938416021781559285015191830180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790556060830151909150600282019061057a9082610bb1565b5050600180549150600061058d83610ad4565b91905055505050505050565b60046020526000908152604090208054600182015460028301805463ffffffff84169464010000000090940473ffffffffffffffffffffffffffffffffffffffff9081169493169291906105ec90610a53565b80601f016020809104026020016040519081016040528092919081815260200182805461061890610a53565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905084565b63ffffffff841660009081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f7800000000000000000000604482015260640160405180910390fd5b6040517f924324aa00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063924324aa90610780907f00000000000000000000000000000000000000000000000000000000000000009033908a908a908a90600401610ccb565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b50506000805492509050806107c283610ad4565b909155506000979650505050505050565b803563ffffffff811681146107e757600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080e57600080fd5b50565b6000806040838503121561082457600080fd5b61082d836107d3565b9150602083013561083d816107ec565b809150509250929050565b60008083601f84011261085a57600080fd5b50813567ffffffffffffffff81111561087257600080fd5b60208301915083602082850101111561088a57600080fd5b9250929050565b6000806000806000608086880312156108a957600080fd5b6108b2866107d3565b945060208601356108c2816107ec565b935060408601356108d2816107ec565b9250606086013567ffffffffffffffff8111156108ee57600080fd5b6108fa88828901610848565b969995985093965092949392505050565b60006020828403121561091d57600080fd5b5035919050565b6000815180845260005b8181101561094a5760208185018101518683018201520161092e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff85168152600073ffffffffffffffffffffffffffffffffffffffff8086166020840152808516604084015250608060608301526109cd6080830184610924565b9695505050505050565b6000602082840312156109e957600080fd5b6109f2826107d3565b9392505050565b60008060008060608587031215610a0f57600080fd5b610a18856107d3565b935060208501359250604085013567ffffffffffffffff811115610a3b57600080fd5b610a4787828801610848565b95989497509550505050565b600181811c90821680610a6757607f821691505b602082108103610aa0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff84168152826020820152606060408201526000610acb6060830184610924565b95945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610bac57600081815260208120601f850160051c81016020861015610b895750805b601f850160051c820191505b81811015610ba857828155600101610b95565b5050505b505050565b815167ffffffffffffffff811115610bcb57610bcb610b33565b610bdf81610bd98454610a53565b84610b62565b602080601f831160018114610c325760008415610bfc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ba8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c7f57888601518255948401946001909101908401610c60565b5085821015610cbb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff86168152600073ffffffffffffffffffffffffffffffffffffffff808716602084015280861660408401525060806060830152826080830152828460a0840137600060a0848401015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050969550505050505056fea2646970667358221220279cc4c42a2de41ad9187b3351e9c0ea0527e76fcc182238a7cb83bd3b95f32264736f6c63430008110033";
|
|
220
220
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
221
221
|
class MockMailbox__factory extends ethers_1.ContractFactory {
|
|
222
222
|
constructor(...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockMailbox__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockMailbox__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,SAAS;gBACf,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,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"MockMailbox__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/mock/MockMailbox__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,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,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,yBAAyB;QAC/B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,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,aAAa;QACnB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,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;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,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;CACF,CAAC;AAEF,MAAM,SAAS,GACb,gmOAAgmO,CAAC;AAMnmO,MAAM,WAAW,GAAG,CAClB,EAAgC,EACqB,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,oBAAqB,SAAQ,wBAAe;IACvD,YAAY,GAAG,IAAkC;QAC/C,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,OAAqB,EACrB,SAA2D;QAE3D,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAyB,CAAC;IACxE,CAAC;IACQ,oBAAoB,CAC3B,OAAqB,EACrB,SAA2D;QAE3D,OAAO,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAgB,CAAC;IAC9C,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAyB,CAAC;IACvD,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAAyB,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAgB,CAAC;IACtE,CAAC;;AAtCH,oDAuCC;AAXiB,6BAAQ,GAAG,SAAS,CAAC;AACrB,wBAAG,GAAG,IAAI,CAAC"}
|