@layerzerolabs/oapp-alt-evm
Version:
LayerZero Labs reference EVM OmniChain Application (OAppAlt) for EndpointV2Alt implementation
1 lines • 81.2 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_localEidV2","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"getFee","inputs":[{"name":"_params","type":"tuple","internalType":"struct IExecutorFeeLib.FeeParamsForRead","components":[{"name":"priceFeed","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"},{"name":"defaultMultiplierBps","type":"uint16","internalType":"uint16"}]},{"name":"_dstConfig","type":"tuple","internalType":"struct IExecutor.DstConfig","components":[{"name":"lzReceiveBaseGas","type":"uint64","internalType":"uint64"},{"name":"multiplierBps","type":"uint16","internalType":"uint16"},{"name":"floorMarginUSD","type":"uint128","internalType":"uint128"},{"name":"nativeCap","type":"uint128","internalType":"uint128"},{"name":"lzComposeBaseGas","type":"uint64","internalType":"uint64"}]},{"name":"_options","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFee","inputs":[{"name":"_params","type":"tuple","internalType":"struct IExecutorFeeLib.FeeParams","components":[{"name":"priceFeed","type":"address","internalType":"address"},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"calldataSize","type":"uint256","internalType":"uint256"},{"name":"defaultMultiplierBps","type":"uint16","internalType":"uint16"}]},{"name":"_dstConfig","type":"tuple","internalType":"struct IExecutor.DstConfig","components":[{"name":"lzReceiveBaseGas","type":"uint64","internalType":"uint64"},{"name":"multiplierBps","type":"uint16","internalType":"uint16"},{"name":"floorMarginUSD","type":"uint128","internalType":"uint128"},{"name":"nativeCap","type":"uint128","internalType":"uint128"},{"name":"lzComposeBaseGas","type":"uint64","internalType":"uint64"}]},{"name":"_options","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeOnSend","inputs":[{"name":"_params","type":"tuple","internalType":"struct IExecutorFeeLib.FeeParams","components":[{"name":"priceFeed","type":"address","internalType":"address"},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"calldataSize","type":"uint256","internalType":"uint256"},{"name":"defaultMultiplierBps","type":"uint16","internalType":"uint16"}]},{"name":"_dstConfig","type":"tuple","internalType":"struct IExecutor.DstConfig","components":[{"name":"lzReceiveBaseGas","type":"uint64","internalType":"uint64"},{"name":"multiplierBps","type":"uint16","internalType":"uint16"},{"name":"floorMarginUSD","type":"uint128","internalType":"uint128"},{"name":"nativeCap","type":"uint128","internalType":"uint128"},{"name":"lzComposeBaseGas","type":"uint64","internalType":"uint64"}]},{"name":"_options","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeOnSend","inputs":[{"name":"_params","type":"tuple","internalType":"struct IExecutorFeeLib.FeeParamsForRead","components":[{"name":"priceFeed","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"},{"name":"defaultMultiplierBps","type":"uint16","internalType":"uint16"}]},{"name":"_dstConfig","type":"tuple","internalType":"struct IExecutor.DstConfig","components":[{"name":"lzReceiveBaseGas","type":"uint64","internalType":"uint64"},{"name":"multiplierBps","type":"uint16","internalType":"uint16"},{"name":"floorMarginUSD","type":"uint128","internalType":"uint128"},{"name":"nativeCap","type":"uint128","internalType":"uint128"},{"name":"lzComposeBaseGas","type":"uint64","internalType":"uint64"}]},{"name":"_options","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"major","type":"uint64","internalType":"uint64"},{"name":"minor","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"withdrawToken","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"Executor_EidNotSupported","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"Executor_InvalidExecutorOptions","inputs":[{"name":"cursor","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Executor_InvalidLzComposeOption","inputs":[]},{"type":"error","name":"Executor_InvalidLzReadOption","inputs":[]},{"type":"error","name":"Executor_InvalidLzReceiveOption","inputs":[]},{"type":"error","name":"Executor_InvalidNativeDropOption","inputs":[]},{"type":"error","name":"Executor_NativeAmountExceedsCap","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"cap","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Executor_NoOptions","inputs":[]},{"type":"error","name":"Executor_UnsupportedOptionType","inputs":[{"name":"optionType","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"Executor_ZeroCalldataSizeProvided","inputs":[]},{"type":"error","name":"Executor_ZeroLzComposeGasProvided","inputs":[]},{"type":"error","name":"Executor_ZeroLzReceiveGasProvided","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"Transfer_NativeFailed","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Transfer_ToAddressIsZero","inputs":[]}],"bytecode":{"object":"0x60c060405234801561000f575f80fd5b5060405161159538038061159583398101604081905261002e916100c6565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c81610077565b5063ffffffff1660a052670de0b6b3a76400006080526100f0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100d6575f80fd5b815163ffffffff811681146100e9575f80fd5b9392505050565b60805160a05161147d6101185f395f818161020501526102a001525f610730015261147d5ff3fe608060405260043610610087575f3560e01c8063566ef76211610057578063566ef762146101245780636500378414610143578063715018a6146101625780638da5cb5b14610176578063f2fde38b1461019c575f80fd5b806301e3366714610092578063337c7a9e146100b3578063434ee016146100e557806354fd4d5014610104575f80fd5b3661008e57005b5f80fd5b34801561009d575f80fd5b506100b16100ac36600461106b565b6101bb565b005b3480156100be575f80fd5b506100d26100cd3660046110ff565b6101d3565b6040519081526020015b60405180910390f35b3480156100f0575f80fd5b506100d26100ff366004611166565b6103ad565b34801561010f575f80fd5b506040805160018082526020820152016100dc565b34801561012f575f80fd5b506100d261013e366004611166565b610571565b34801561014e575f80fd5b506100d261015d3660046110ff565b610587565b34801561016d575f80fd5b506100b1610594565b348015610181575f80fd5b505f546040516001600160a01b0390911681526020016100dc565b3480156101a7575f80fd5b506100b16101b63660046111af565b6105a7565b6101c36105e4565b6101ce838383610610565b505050565b5f6101e160208501856111cf565b67ffffffffffffffff165f036102375760405163c3baa0b760e01b815263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048201526024015b60405180910390fd5b5f808061027460018261024d60208b018b6111cf565b61025d60a08c0160808d016111cf565b61026d60808d0160608e0161120a565b8b8b610633565b919450925090505f80808061028c60208d018d6111af565b604051632229049360e21b815263ffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015287166024820152604481018890526001600160a01b0391909116906388a4124c90606401608060405180830381865afa158015610305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103299190611225565b929650909450925090506103738461034760408e0160208f01611277565b8e604001602081019061035a9190611277565b8e604001602081019061036d919061120a565b856106c3565b97506103938784848f604001602081019061038e9190611277565b610795565b61039d90896112ac565b9c9b505050505050505050505050565b5f6103bb60208501856111cf565b67ffffffffffffffff165f036103fd576103db60408601602087016112c5565b60405163c3baa0b760e01b815263ffffffff909116600482015260240161022e565b5f8061044f8161041b61041660408b0160208c016112c5565b505f90565b61042860208a018a6111cf565b61043860a08b0160808c016111cf565b61044860808c0160608d0161120a565b8a8a610633565b5090925090505f80808061046660208c018c6111af565b6001600160a01b03166388a4124c61048460408e0160208f016112c5565b6040516001600160e01b031960e084901b16815263ffffffff91909116600482015260608e0135602482015260448101889052606401608060405180830381865afa1580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f99190611225565b9296509094509250905061053d8461051760408d0160208e01611277565b8d608001602081019061052a9190611277565b8d604001602081019061036d919061120a565b96506105588684848e608001602081019061038e9190611277565b61056290886112ac565b9b9a5050505050505050505050565b5f61057e858585856103ad565b95945050505050565b5f61057e858585856101d3565b61059c6105e4565b6105a55f6107e9565b565b6105af6105e4565b6001600160a01b0381166105d857604051631e4fbdf760e01b81525f600482015260240161022e565b6105e1816107e9565b50565b5f546001600160a01b031633146105a55760405163118cdaa760e01b815233600482015260240161022e565b6001600160a01b038316610628576101ce8282610838565b6101ce8383836108e1565b5f805f8061064486868d8d8b61091c565b805160608201516080830151919650935090915061066c9067ffffffffffffffff8a166112e8565b60208201516106859067ffffffffffffffff8c166112ac565b61068f91906112ac565b92508060400151156106b55760646106a88460666112e8565b6106b291906112ff565b92505b509750975097945050505050565b5f8061ffff8616156106d557856106d7565b845b90505f6127106106eb61ffff84168a6112e8565b6106f591906112ff565b90506001600160801b038416158061071457506001600160801b038516155b1561072257915061057e9050565b5f88856001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000886001600160801b031661076391906112e8565b61076d91906112ff565b61077791906112ac565b90508181116107865781610788565b805b9998505050505050505050565b5f84156107e1576127108261ffff16846001600160801b0316866001600160801b0316886107c391906112e8565b6107cd91906112ff565b6107d791906112e8565b61057e91906112ff565b949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821661085f576040516306b7a93160e41b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146108a8576040519150601f19603f3d011682016040523d82523d5f602084013e6108ad565b606091505b50509050806101ce57604051631196f20d60e21b81526001600160a01b03841660048201526024810183905260440161022e565b6001600160a01b038216610908576040516306b7a93160e41b815260040160405180910390fd5b6101ce6001600160a01b0384168383610d10565b6109516040518060a001604052805f81526020015f81526020015f151581526020015f63ffffffff1681526020015f81525090565b5f8590036109715760405162575ea160e01b815260040160405180910390fd5b5f80805b87831015610c33575f36818061098c8d8d89610d62565b9950919550935091508690505f1960ff851601610a48578a156109c75760405163052e551560e01b815260ff8516600482015260240161022e565b5f806109d38585610db7565b915091508b80156109ec57505f816001600160801b0316115b15610a0f5760405163052e551560e01b815260ff8716600482015260240161022e565b806001600160801b03168a5f01818151610a2991906112ac565b905250610a3f6001600160801b038316896112ac565b97505050610c2a565b60011960ff851601610aaa578a15610a785760405163052e551560e01b815260ff8516600482015260240161022e565b5f610a838484610e19565b509050806001600160801b0316895f01818151610aa091906112ac565b905250610c2a9050565b60021960ff851601610b6c578915610ada5760405163052e551560e01b815260ff8516600482015260240161022e565b5f80610ae68585610e55565b9250925050816001600160801b03165f03610b145760405163a169d0e160e01b815260040160405180910390fd5b806001600160801b03168a5f01818151610b2e91906112ac565b90525060208a0180516001600160801b0384169190610b4e9083906112ac565b90525060808a01805190610b618261131e565b815250505050610c2a565b60031960ff851601610b845760016040890152610c2a565b60041960ff851601610c0c578a610bb35760405163052e551560e01b815260ff8516600482015260240161022e565b5f805f610bc08686610ec6565b925092509250806001600160801b03168b5f01818151610be091906112ac565b905250610bf66001600160801b0384168a6112ac565b9850610c028289611336565b9750505050610c2a565b60405163052e551560e01b815260ff8516600482015260240161022e565b50505050610975565b828814610c5657604051634c83bb7560e11b81526004810184905260240161022e565b83516001600160801b0386161015610c955783516040516242670160e11b815260048101919091526001600160801b038616602482015260440161022e565b815f03610cb557604051630e5eb8f360e41b815260040160405180910390fd5b868015610cc6575063ffffffff8116155b15610ce4576040516336619f8360e11b815260040160405180910390fd5b8184602001818151610cf691906112ac565b90525063ffffffff16606084015250909695505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526101ce908490610f2e565b5f36816001840181610d75888884610fa0565b600292909201919050610d89888884610fc6565b94506001820161ffff82168301610da281838b8d61135a565b979b909a50969850505061ffff160193505050565b5f8060108314801590610dcb575060208314155b15610de957604051634796aee160e01b815260040160405180910390fd5b610df484845f610fea565b915060208314610e04575f610e10565b610e1084846010610fea565b90509250929050565b5f8060308314610e3c576040516361d0c2c760e11b815260040160405180910390fd5b610e4784845f610fea565b9150610e1084846010611010565b5f808060128414801590610e6a575060228414155b15610e8857604051638b4aa70b60e01b815260040160405180910390fd5b610e9385855f610fa0565b9250610ea185856002610fea565b915060228414610eb1575f610ebd565b610ebd85856012610fea565b90509250925092565b5f808060148414801590610edb575060248414155b15610ef957604051636f5bff2160e11b815260040160405180910390fd5b610f0485855f610fea565b9250610f128585601061102a565b915060248414610f22575f610ebd565b610ebd85856014610fea565b5f8060205f8451602086015f885af180610f4d576040513d5f823e3d81fd5b50505f513d91508115610f64578060011415610f71565b6001600160a01b0384163b155b15610f9a57604051635274afe760e01b81526001600160a01b038516600482015260240161022e565b50505050565b5f60028201610fb18184868861135a565b610fba91611381565b60f01c95945050505050565b5f838383818110610fd957610fd96113b1565b919091013560f81c95945050505050565b5f60108201610ffb8184868861135a565b611004916113c5565b60801c95945050505050565b5f602082016110218184868861135a565b61057e916113fc565b5f6004820161103b8184868861135a565b61104491611419565b60e01c95945050505050565b80356001600160a01b0381168114611066575f80fd5b919050565b5f805f6060848603121561107d575f80fd5b61108684611050565b925061109460208501611050565b9150604084013590509250925092565b5f60a082840312156110b4575f80fd5b50919050565b5f8083601f8401126110ca575f80fd5b50813567ffffffffffffffff8111156110e1575f80fd5b6020830191508360208285010111156110f8575f80fd5b9250929050565b5f805f80848603610120811215611114575f80fd5b6060811215611121575f80fd5b5084935061113286606087016110a4565b925061010085013567ffffffffffffffff81111561114e575f80fd5b61115a878288016110ba565b95989497509550505050565b5f805f80610160858703121561117a575f80fd5b61118486866110a4565b93506111938660a087016110a4565b925061014085013567ffffffffffffffff81111561114e575f80fd5b5f602082840312156111bf575f80fd5b6111c882611050565b9392505050565b5f602082840312156111df575f80fd5b813567ffffffffffffffff811681146111c8575f80fd5b6001600160801b03811681146105e1575f80fd5b5f6020828403121561121a575f80fd5b81356111c8816111f6565b5f805f8060808587031215611238575f80fd5b84519350602085015161124a816111f6565b604086015190935061125b816111f6565b606086015190925061126c816111f6565b939692955090935050565b5f60208284031215611287575f80fd5b813561ffff811681146111c8575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156112bf576112bf611298565b92915050565b5f602082840312156112d5575f80fd5b813563ffffffff811681146111c8575f80fd5b80820281158282048414176112bf576112bf611298565b5f8261131957634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161132f5761132f611298565b5060010190565b63ffffffff81811683821601908082111561135357611353611298565b5092915050565b5f8085851115611368575f80fd5b83861115611374575f80fd5b5050820193919092039150565b6001600160f01b031981358181169160028510156113a95780818660020360031b1b83161692505b505092915050565b634e487b7160e01b5f52603260045260245ffd5b6fffffffffffffffffffffffffffffffff1981358181169160108510156113a95760109490940360031b84901b1690921692915050565b803560208310156112bf575f19602084900360031b1b1692915050565b6001600160e01b031981358181169160048510156113a95760049490940360031b84901b169092169291505056fea26469706673582212201bc680571fbcc5efd9797723812424f36b8d1c1d5a239aa65d3f1fe83705264664736f6c63430008160033","sourceMap":"717:9671:65:-:0;;;1001:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1041:10;;1269:95:100;;1322:31;;-1:-1:-1;;;1322:31:100;;1350:1;1322:31;;;445:51:122;418:18;;1322:31:100;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1063:24:65::1;;;::::0;1118:4:::1;1097:25;::::0;717:9671;;2912:187:100;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:100;;;-1:-1:-1;;;;;;3020:17:100;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:280:122:-;83:6;136:2;124:9;115:7;111:23;107:32;104:52;;;152:1;149;142:12;104:52;184:9;178:16;234:10;227:5;223:22;216:5;213:33;203:61;;260:1;257;250:12;203:61;283:5;14:280;-1:-1:-1;;;14:280:122:o;299:203::-;717:9671:65;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610087575f3560e01c8063566ef76211610057578063566ef762146101245780636500378414610143578063715018a6146101625780638da5cb5b14610176578063f2fde38b1461019c575f80fd5b806301e3366714610092578063337c7a9e146100b3578063434ee016146100e557806354fd4d5014610104575f80fd5b3661008e57005b5f80fd5b34801561009d575f80fd5b506100b16100ac36600461106b565b6101bb565b005b3480156100be575f80fd5b506100d26100cd3660046110ff565b6101d3565b6040519081526020015b60405180910390f35b3480156100f0575f80fd5b506100d26100ff366004611166565b6103ad565b34801561010f575f80fd5b506040805160018082526020820152016100dc565b34801561012f575f80fd5b506100d261013e366004611166565b610571565b34801561014e575f80fd5b506100d261015d3660046110ff565b610587565b34801561016d575f80fd5b506100b1610594565b348015610181575f80fd5b505f546040516001600160a01b0390911681526020016100dc565b3480156101a7575f80fd5b506100b16101b63660046111af565b6105a7565b6101c36105e4565b6101ce838383610610565b505050565b5f6101e160208501856111cf565b67ffffffffffffffff165f036102375760405163c3baa0b760e01b815263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048201526024015b60405180910390fd5b5f808061027460018261024d60208b018b6111cf565b61025d60a08c0160808d016111cf565b61026d60808d0160608e0161120a565b8b8b610633565b919450925090505f80808061028c60208d018d6111af565b604051632229049360e21b815263ffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015287166024820152604481018890526001600160a01b0391909116906388a4124c90606401608060405180830381865afa158015610305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103299190611225565b929650909450925090506103738461034760408e0160208f01611277565b8e604001602081019061035a9190611277565b8e604001602081019061036d919061120a565b856106c3565b97506103938784848f604001602081019061038e9190611277565b610795565b61039d90896112ac565b9c9b505050505050505050505050565b5f6103bb60208501856111cf565b67ffffffffffffffff165f036103fd576103db60408601602087016112c5565b60405163c3baa0b760e01b815263ffffffff909116600482015260240161022e565b5f8061044f8161041b61041660408b0160208c016112c5565b505f90565b61042860208a018a6111cf565b61043860a08b0160808c016111cf565b61044860808c0160608d0161120a565b8a8a610633565b5090925090505f80808061046660208c018c6111af565b6001600160a01b03166388a4124c61048460408e0160208f016112c5565b6040516001600160e01b031960e084901b16815263ffffffff91909116600482015260608e0135602482015260448101889052606401608060405180830381865afa1580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f99190611225565b9296509094509250905061053d8461051760408d0160208e01611277565b8d608001602081019061052a9190611277565b8d604001602081019061036d919061120a565b96506105588684848e608001602081019061038e9190611277565b61056290886112ac565b9b9a5050505050505050505050565b5f61057e858585856103ad565b95945050505050565b5f61057e858585856101d3565b61059c6105e4565b6105a55f6107e9565b565b6105af6105e4565b6001600160a01b0381166105d857604051631e4fbdf760e01b81525f600482015260240161022e565b6105e1816107e9565b50565b5f546001600160a01b031633146105a55760405163118cdaa760e01b815233600482015260240161022e565b6001600160a01b038316610628576101ce8282610838565b6101ce8383836108e1565b5f805f8061064486868d8d8b61091c565b805160608201516080830151919650935090915061066c9067ffffffffffffffff8a166112e8565b60208201516106859067ffffffffffffffff8c166112ac565b61068f91906112ac565b92508060400151156106b55760646106a88460666112e8565b6106b291906112ff565b92505b509750975097945050505050565b5f8061ffff8616156106d557856106d7565b845b90505f6127106106eb61ffff84168a6112e8565b6106f591906112ff565b90506001600160801b038416158061071457506001600160801b038516155b1561072257915061057e9050565b5f88856001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000886001600160801b031661076391906112e8565b61076d91906112ff565b61077791906112ac565b90508181116107865781610788565b805b9998505050505050505050565b5f84156107e1576127108261ffff16846001600160801b0316866001600160801b0316886107c391906112e8565b6107cd91906112ff565b6107d791906112e8565b61057e91906112ff565b949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821661085f576040516306b7a93160e41b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146108a8576040519150601f19603f3d011682016040523d82523d5f602084013e6108ad565b606091505b50509050806101ce57604051631196f20d60e21b81526001600160a01b03841660048201526024810183905260440161022e565b6001600160a01b038216610908576040516306b7a93160e41b815260040160405180910390fd5b6101ce6001600160a01b0384168383610d10565b6109516040518060a001604052805f81526020015f81526020015f151581526020015f63ffffffff1681526020015f81525090565b5f8590036109715760405162575ea160e01b815260040160405180910390fd5b5f80805b87831015610c33575f36818061098c8d8d89610d62565b9950919550935091508690505f1960ff851601610a48578a156109c75760405163052e551560e01b815260ff8516600482015260240161022e565b5f806109d38585610db7565b915091508b80156109ec57505f816001600160801b0316115b15610a0f5760405163052e551560e01b815260ff8716600482015260240161022e565b806001600160801b03168a5f01818151610a2991906112ac565b905250610a3f6001600160801b038316896112ac565b97505050610c2a565b60011960ff851601610aaa578a15610a785760405163052e551560e01b815260ff8516600482015260240161022e565b5f610a838484610e19565b509050806001600160801b0316895f01818151610aa091906112ac565b905250610c2a9050565b60021960ff851601610b6c578915610ada5760405163052e551560e01b815260ff8516600482015260240161022e565b5f80610ae68585610e55565b9250925050816001600160801b03165f03610b145760405163a169d0e160e01b815260040160405180910390fd5b806001600160801b03168a5f01818151610b2e91906112ac565b90525060208a0180516001600160801b0384169190610b4e9083906112ac565b90525060808a01805190610b618261131e565b815250505050610c2a565b60031960ff851601610b845760016040890152610c2a565b60041960ff851601610c0c578a610bb35760405163052e551560e01b815260ff8516600482015260240161022e565b5f805f610bc08686610ec6565b925092509250806001600160801b03168b5f01818151610be091906112ac565b905250610bf66001600160801b0384168a6112ac565b9850610c028289611336565b9750505050610c2a565b60405163052e551560e01b815260ff8516600482015260240161022e565b50505050610975565b828814610c5657604051634c83bb7560e11b81526004810184905260240161022e565b83516001600160801b0386161015610c955783516040516242670160e11b815260048101919091526001600160801b038616602482015260440161022e565b815f03610cb557604051630e5eb8f360e41b815260040160405180910390fd5b868015610cc6575063ffffffff8116155b15610ce4576040516336619f8360e11b815260040160405180910390fd5b8184602001818151610cf691906112ac565b90525063ffffffff16606084015250909695505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526101ce908490610f2e565b5f36816001840181610d75888884610fa0565b600292909201919050610d89888884610fc6565b94506001820161ffff82168301610da281838b8d61135a565b979b909a50969850505061ffff160193505050565b5f8060108314801590610dcb575060208314155b15610de957604051634796aee160e01b815260040160405180910390fd5b610df484845f610fea565b915060208314610e04575f610e10565b610e1084846010610fea565b90509250929050565b5f8060308314610e3c576040516361d0c2c760e11b815260040160405180910390fd5b610e4784845f610fea565b9150610e1084846010611010565b5f808060128414801590610e6a575060228414155b15610e8857604051638b4aa70b60e01b815260040160405180910390fd5b610e9385855f610fa0565b9250610ea185856002610fea565b915060228414610eb1575f610ebd565b610ebd85856012610fea565b90509250925092565b5f808060148414801590610edb575060248414155b15610ef957604051636f5bff2160e11b815260040160405180910390fd5b610f0485855f610fea565b9250610f128585601061102a565b915060248414610f22575f610ebd565b610ebd85856014610fea565b5f8060205f8451602086015f885af180610f4d576040513d5f823e3d81fd5b50505f513d91508115610f64578060011415610f71565b6001600160a01b0384163b155b15610f9a57604051635274afe760e01b81526001600160a01b038516600482015260240161022e565b50505050565b5f60028201610fb18184868861135a565b610fba91611381565b60f01c95945050505050565b5f838383818110610fd957610fd96113b1565b919091013560f81c95945050505050565b5f60108201610ffb8184868861135a565b611004916113c5565b60801c95945050505050565b5f602082016110218184868861135a565b61057e916113fc565b5f6004820161103b8184868861135a565b61104491611419565b60e01c95945050505050565b80356001600160a01b0381168114611066575f80fd5b919050565b5f805f6060848603121561107d575f80fd5b61108684611050565b925061109460208501611050565b9150604084013590509250925092565b5f60a082840312156110b4575f80fd5b50919050565b5f8083601f8401126110ca575f80fd5b50813567ffffffffffffffff8111156110e1575f80fd5b6020830191508360208285010111156110f8575f80fd5b9250929050565b5f805f80848603610120811215611114575f80fd5b6060811215611121575f80fd5b5084935061113286606087016110a4565b925061010085013567ffffffffffffffff81111561114e575f80fd5b61115a878288016110ba565b95989497509550505050565b5f805f80610160858703121561117a575f80fd5b61118486866110a4565b93506111938660a087016110a4565b925061014085013567ffffffffffffffff81111561114e575f80fd5b5f602082840312156111bf575f80fd5b6111c882611050565b9392505050565b5f602082840312156111df575f80fd5b813567ffffffffffffffff811681146111c8575f80fd5b6001600160801b03811681146105e1575f80fd5b5f6020828403121561121a575f80fd5b81356111c8816111f6565b5f805f8060808587031215611238575f80fd5b84519350602085015161124a816111f6565b604086015190935061125b816111f6565b606086015190925061126c816111f6565b939692955090935050565b5f60208284031215611287575f80fd5b813561ffff811681146111c8575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156112bf576112bf611298565b92915050565b5f602082840312156112d5575f80fd5b813563ffffffff811681146111c8575f80fd5b80820281158282048414176112bf576112bf611298565b5f8261131957634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161132f5761132f611298565b5060010190565b63ffffffff81811683821601908082111561135357611353611298565b5092915050565b5f8085851115611368575f80fd5b83861115611374575f80fd5b5050820193919092039150565b6001600160f01b031981358181169160028510156113a95780818660020360031b1b83161692505b505092915050565b634e487b7160e01b5f52603260045260245ffd5b6fffffffffffffffffffffffffffffffff1981358181169160108510156113a95760109490940360031b84901b1690921692915050565b803560208310156112bf575f19602084900360031b1b1692915050565b6001600160e01b031981358181169160048510156113a95760049490940360031b84901b169092169291505056fea26469706673582212201bc680571fbcc5efd9797723812424f36b8d1c1d5a239aa65d3f1fe83705264664736f6c63430008160033","sourceMap":"717:9671:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:203;;;;;;;;;;-1:-1:-1;1218:203:65;;;;;:::i;:::-;;:::i;:::-;;3323:1237;;;;;;;;;;-1:-1:-1;3323:1237:65;;;;;:::i;:::-;;:::i;:::-;;;1883:25:122;;;1871:2;1856:18;3323:1237:65;;;;;;;;2090:1227;;;;;;;;;;-1:-1:-1;2090:1227:65;;;;;:::i;:::-;;:::i;10198:99::-;;;;;;;;;;-1:-1:-1;10198:99:65;;;10285:1;2764:50:122;;;2845:2;2830:18;;2823:45;2737:18;10198:99:65;2596:278:122;1509:242:65;;;;;;;;;;-1:-1:-1;1509:242:65;;;;;:::i;:::-;;:::i;1757:249::-;;;;;;;;;;-1:-1:-1;1757:249:65;;;;;:::i;:::-;;:::i;2293:101:100:-;;;;;;;;;;;;;:::i;1638:85::-;;;;;;;;;;-1:-1:-1;1684:7:100;1710:6;1638:85;;-1:-1:-1;;;;;1710:6:100;;;3025:51:122;;3013:2;2998:18;1638:85:100;2879:203:122;2543:215:100;;;;;;;;;;-1:-1:-1;2543:215:100;;;;;:::i;:::-;;:::i;1218:203:65:-;1531:13:100;:11;:13::i;:::-;1370:44:65::1;1393:6;1401:3;1406:7;1370:22;:44::i;:::-;1218:203:::0;;;:::o;3323:1237::-;3491:11;3518:27;;;;:10;:27;:::i;:::-;:32;;3549:1;3518:32;3514:81;;3559:36;;-1:-1:-1;;;3559:36:65;;3741:10:122;3584::65;3729:23:122;3559:36:65;;;3711:42:122;3684:18;;3559:36:65;;;;;;;;3514:81;3607:18;;;3668:227;3704:4;3607:18;3761:27;;;;:10;:27;:::i;:::-;3802;;;;;;;;:::i;:::-;3843:20;;;;;;;;:::i;:::-;3877:8;;3668:22;:227::i;:::-;3606:289;;-1:-1:-1;3606:289:65;-1:-1:-1;3606:289:65;-1:-1:-1;3920:19:65;;;;4083:17;;;;:7;:17;:::i;:::-;4063:91;;-1:-1:-1;;;4063:91:65;;;4119:10;4413:15:122;;4063:91:65;;;4395:34:122;4465:15;;4445:18;;;4438:43;4497:18;;;4490:34;;;-1:-1:-1;;;;;4063:55:65;;;;;;;4339:18:122;;4063:91:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3906:248;;-1:-1:-1;3906:248:65;;-1:-1:-1;3906:248:65;-1:-1:-1;3906:248:65;-1:-1:-1;4171:200:65;3906:248;4228:24;;;;;;;;:::i;:::-;4266:7;:28;;;;;;;;;;:::i;:::-;4308:10;:25;;;;;;;;;;:::i;:::-;4347:14;4171:18;:200::i;:::-;4165:206;;4388:165;4432:10;4456;4480:21;4515:7;:28;;;;;;;;;;:::i;:::-;4388:30;:165::i;:::-;4381:172;;;;:::i;:::-;;3323:1237;-1:-1:-1;;;;;;;;;;;;3323:1237:65:o;2090:1227::-;2251:11;2278:27;;;;:10;:27;:::i;:::-;:32;;2309:1;2278:32;2274:85;;2344:14;;;;;;;;:::i;:::-;2319:40;;-1:-1:-1;;;2319:40:65;;3741:10:122;3729:23;;;2319:40:65;;;3711:42:122;3684:18;;2319:40:65;3567:192:122;2274:85:65;2371:18;;2413:227;2371:18;2468:24;2477:14;;;;;;;;:::i;:::-;-1:-1:-1;10006:4:65;;9940:101;2468:24;2506:27;;;;:10;:27;:::i;:::-;2547;;;;;;;;:::i;:::-;2588:20;;;;;;;;:::i;:::-;2622:8;;2413:22;:227::i;:::-;-1:-1:-1;2370:270:65;;-1:-1:-1;2370:270:65;-1:-1:-1;2665:19:65;;;;2828:17;;;;:7;:17;:::i;:::-;-1:-1:-1;;;;;2808:55:65;;2864:14;;;;;;;;:::i;:::-;2808:103;;-1:-1:-1;;;;;;2808:103:65;;;;;;;;6159:23:122;;;;2808:103:65;;;6141:42:122;2880:20:65;;;;6199:18:122;;;6192:34;6242:18;;;6235:34;;;6114:18;;2808:103:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2651:260;;-1:-1:-1;2651:260:65;;-1:-1:-1;2651:260:65;-1:-1:-1;2651:260:65;-1:-1:-1;2928:200:65;2651:260;2985:24;;;;;;;;:::i;:::-;3023:7;:28;;;;;;;;;;:::i;:::-;3065:10;:25;;;;;;;;;;:::i;2928:200::-;2922:206;;3145:165;3189:10;3213;3237:21;3272:7;:28;;;;;;;;;;:::i;3145:165::-;3138:172;;;;:::i;:::-;;2090:1227;-1:-1:-1;;;;;;;;;;;2090:1227:65:o;1509:242::-;1678:11;1707:37;1714:7;1723:10;1735:8;;1707:6;:37::i;:::-;1701:43;1509:242;-1:-1:-1;;;;;1509:242:65:o;1757:249::-;1933:11;1962:37;1969:7;1978:10;1990:8;;1962:6;:37::i;2293:101:100:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2543:215::-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:100;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:100;;2700:1:::1;2672:31;::::0;::::1;3025:51:122::0;2998:18;;2672:31:100::1;2879:203:122::0;2623:91:100::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:100;735:10:110;1855:23:100;1851:101;;1901:40;;-1:-1:-1;;;1901:40:100;;735:10:110;1901:40:100;;;3025:51:122;2998:18;;1901:40:100;2879:203:122;896:222:46;-1:-1:-1;;;;;987:22:46;;983:129;;1025:19;1032:3;1037:6;1025;:19::i;983:129::-;1075:26;1081:6;1089:3;1094:6;1075:5;:26::i;4712:1001:65:-;4945:18;4965:16;4983:19;5014:36;5053:60;5075:8;;5085:7;5094:6;5102:10;5053:21;:60::i;:::-;5136:21;;5182:23;;;;5592;;;;5136:21;;-1:-1:-1;5182:23:65;-1:-1:-1;5014:99:65;;-1:-1:-1;5572:43:65;;;;;;:::i;:::-;5550:19;;;;5530:39;;;;;;:::i;:::-;:85;;;;:::i;:::-;5519:96;;5629:10;:18;;;5625:82;;;5693:3;5675:14;:8;5686:3;5675:14;:::i;:::-;5674:22;;;;:::i;:::-;5663:33;;5625:82;5004:709;4712:1001;;;;;;;;;;;:::o;8975:619::-;9164:7;;9206:9;;;;:30;;9232:4;9206:30;;;9218:11;9206:30;9183:53;-1:-1:-1;9247:25:65;9300:5;9276:20;;;;:4;:20;:::i;:::-;9275:30;;;;:::i;:::-;9247:58;-1:-1:-1;;;;;;9320:20:65;;;;:39;;-1:-1:-1;;;;;;9344:15:65;;;9320:39;9316:94;;;9382:17;-1:-1:-1;9375:24:65;;-1:-1:-1;9375:24:65;9316:94;9419:21;9497:4;9479:15;-1:-1:-1;;;;;9443:51:65;9457:18;9444:10;-1:-1:-1;;;;;9444:31:65;;;;;:::i;:::-;9443:51;;;;:::i;:::-;:58;;;;:::i;:::-;9419:82;;9534:17;9518:13;:33;:69;;9570:17;9518:69;;;9554:13;9518:69;9511:76;8975:619;-1:-1:-1;;;;;;;;;8975:619:65:o;9637:297::-;9806:11;9833:10;;9829:99;;9912:5;9897:11;9866:42;;9887:6;-1:-1:-1;;;;;9867:26:65;9877:6;-1:-1:-1;;;;;9868:15:65;:6;:15;;;;:::i;:::-;9867:26;;;;:::i;:::-;9866:42;;;;:::i;:::-;9865:52;;;;:::i;9829:99::-;9637:297;;;;;;:::o;2912:187:100:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:100;;;-1:-1:-1;;;;;;3020:17:100;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;438:252:46:-;-1:-1:-1;;;;;506:19:46;;502:58;;534:26;;-1:-1:-1;;;534:26:46;;;;;;;;;;;502:58;571:12;589:3;-1:-1:-1;;;;;589:8:46;606:6;589:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:48;;;633:7;628:55;;649:34;;-1:-1:-1;;;649:34:46;;-1:-1:-1;;;;;7077:32:122;;649:34:46;;;7059:51:122;7126:18;;;7119:34;;;7032:18;;649:34:46;6885:274:122;696:194:46;-1:-1:-1;;;;;779:19:46;;775:58;;807:26;;-1:-1:-1;;;807:26:46;;;;;;;;;;;775:58;843:40;-1:-1:-1;;;;;843:27:46;;871:3;876:6;843:27;:40::i;5893:3076:65:-;6057:33;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6057:33:65;6125:1;6106:20;;;6102:78;;6149:20;;-1:-1:-1;;;6149:20:65;;;;;;;;;;;6102:78;6190:14;6218:20;6248:19;6277:2234;6284:24;;;6277:2234;;;6325:16;6343:21;6325:16;;6387:35;:8;;6415:6;6387:27;:35::i;:::-;6324:98;-1:-1:-1;6324:98:65;;-1:-1:-1;6324:98:65;-1:-1:-1;6324:98:65;-1:-1:-1;6324:98:65;;-1:-1:-1;;;6473:51:65;;;;6469:2032;;6608:7;6604:62;;;6624:42;;-1:-1:-1;;;6624:42:65;;7336:4:122;7324:17;;6624:42:65;;;7306:36:122;7279:18;;6624:42:65;7164:184:122;6604:62:65;6685:11;6698:13;6715:45;6753:6;;6715:37;:45::i;:::-;6684:76;;;;6852:6;:19;;;;;6870:1;6862:5;-1:-1:-1;;;;;6862:9:65;;6852:19;6848:74;;;6880:42;;-1:-1:-1;;;6880:42:65;;7336:4:122;7324:17;;6880:42:65;;;7306:36:122;7279:18;;6880:42:65;7164:184:122;6848:74:65;6963:5;-1:-1:-1;;;;;6941:27:65;:7;:18;;:27;;;;;;;:::i;:::-;;;-1:-1:-1;6986:19:65;-1:-1:-1;;;;;6986:19:65;;;;:::i;:::-;;;6526:494;;6469:2032;;;-1:-1:-1;;7030:53:65;;;;7026:1475;;7168:7;7164:62;;;7184:42;;-1:-1:-1;;;7184:42:65;;7336:4:122;7324:17;;7184:42:65;;;7306:36:122;7279:18;;7184:42:65;7164:184:122;:62:65;7246:24;7276:46;7315:6;;7276:38;:46::i;:::-;7245:77;;;7362:16;-1:-1:-1;;;;;7340:38:65;:7;:18;;:38;;;;;;;:::i;:::-;;;-1:-1:-1;7026:1475:65;;-1:-1:-1;7026:1475:65;;-1:-1:-1;;7403:51:65;;;;7399:1102;;7536:6;7532:61;;;7551:42;;-1:-1:-1;;;7551:42:65;;7336:4:122;7324:17;;7551:42:65;;;7306:36:122;7279:18;;7551:42:65;7164:184:122;7532:61:65;7615:11;7628:13;7645:45;7683:6;;7645:37;:45::i;:::-;7612:78;;;;;7712:3;-1:-1:-1;;;;;7712:8:65;7719:1;7712:8;7708:56;;7729:35;;-1:-1:-1;;;7729:35:65;;;;;;;;;;;7708:56;7805:5;-1:-1:-1;;;;;7783:27:65;:7;:18;;:27;;;;;;;:::i;:::-;;;-1:-1:-1;7828:16:65;;;:23;;-1:-1:-1;;;;;7828:23:65;;;:16;:23;;;;;:::i;:::-;;;-1:-1:-1;7869:20:65;;;:22;;;;;;:::i;:::-;;;;;7456:450;;7399:1102;;;-1:-1:-1;;7916:59:65;;;;7912:589;;8013:4;7995:15;;;:22;7912:589;;;-1:-1:-1;;8042:48:65;;;;8038:463;;8115:7;8110:63;;8131:42;;-1:-1:-1;;;8131:42:65;;7336:4:122;7324:17;;8131:42:65;;;7306:36:122;7279:18;;8131:42:65;7164:184:122;8110:63:65;8193:11;8206;8219:13;8236:42;8271:6;;8236:34;:42::i;:::-;8192:86;;;;;;8318:5;-1:-1:-1;;;;;8296:27:65;:7;:18;;:27;;;;;;;:::i;:::-;;;-1:-1:-1;8341:19:65;-1:-1:-1;;;;;8341:19:65;;;;:::i;:::-;;-1:-1:-1;8378:20:65;8394:4;8378:20;;:::i;:::-;;;8092:321;;;8038:463;;;8444:42;;-1:-1:-1;;;8444:42:65;;7336:4:122;7324:17;;8444:42:65;;;7306:36:122;7279:18;;8444:42:65;7164:184:122;8038:463:65;6310:2201;;;;6277:2234;;;8524:25;;;8520:77;;8558:39;;-1:-1:-1;;;8558:39:65;;;;;1883:25:122;;;1856:18;;8558:39:65;1737:177:122;8520:77:65;8611:18;;-1:-1:-1;;;;;8611:31:65;;-1:-1:-1;8607:107:65;;;8683:18;;8651:63;;-1:-1:-1;;;8651:63:65;;;;;7844:25:122;;;;-1:-1:-1;;;;;7905:47:122;;7885:18;;;7878:75;7817:18;;8651:63:65;7670:289:122;8607:107:65;8728:12;8744:1;8728:17;8724:65;;8754:35;;-1:-1:-1;;;8754:35:65;;;;;;;;;;;8724:65;8803:7;:28;;;;-1:-1:-1;8814:17:65;;;;8803:28;8799:76;;;8840:35;;-1:-1:-1;;;8840:35:65;;;;;;;;;;;8799:76;8905:12;8885:7;:16;;:32;;;;;;;:::i;:::-;;;-1:-1:-1;8927:35:65;;:20;;;:35;-1:-1:-1;8927:7:65;;5893:3076;-1:-1:-1;;;;;;5893:3076:65:o;1271:160:108:-;1380:43;;;-1:-1:-1;;;;;7077:32:122;;1380:43:108;;;7059:51:122;7126:18;;;;7119:34;;;1380:43:108;;;;;;;;;;7032:18:122;;;;1380:43:108;;;;;;;;-1:-1:-1;;;;;1380:43:108;-1:-1:-1;;;1380:43:108;;;1353:71;;1373:5;;1353:19;:71::i;1357:742:13:-;1472:16;1490:21;1472:16;1612:1;1602:11;;1472:16;1674:22;:8;;1602:11;1674:14;:22::i;:::-;1720:1;1710:11;;;;;1660:36;-1:-1:-1;1781:21:13;:8;;1710:11;1781:13;:21::i;:::-;1768:34;-1:-1:-1;1932:1:13;1923:10;;1987:13;;;;;2023:31;1987:13;1923:10;2023:8;;:31;:::i;:::-;1357:742;;2014:40;;-1:-1:-1;2014:40:13;;-1:-1:-1;;;2068:14:13;;;;-1:-1:-1;;;1357:742:13:o;2105:309::-;2183:11;;2243:2;2225:20;;;;;:44;;-1:-1:-1;2267:2:13;2249:20;;;2225:44;2221:90;;;2278:33;;-1:-1:-1;;;2278:33:13;;;;;;;;;;;2221:90;2327:17;:7;;2342:1;2327:14;:17::i;:::-;2321:23;-1:-1:-1;2380:2:13;2362:20;;:45;;2406:1;2362:45;;;2385:18;:7;;2400:2;2385:14;:18::i;:::-;2354:53;;2105:309;;;;;:::o;2420:271::-;2499:14;;2565:2;2547:20;;2543:67;;2576:34;;-1:-1:-1;;;2576:34:13;;;;;;;;;;;2543:67;2629:17;:7;;2644:1;2629:14;:17::i;:::-;2620:26;-1:-1:-1;2667:17:13;:7;;2681:2;2667:13;:17::i;2697:371::-;2789:12;;;2863:2;2845:20;;;;;:44;;-1:-1:-1;2887:2:13;2869:20;;;2845:44;2841:90;;;2898:33;;-1:-1:-1;;;2898:33:13;;;;;;;;;;;2841:90;2949:16;:7;;2963:1;2949:13;:16::i;:::-;2941:24;-1:-1:-1;2981:17:13;:7;;2996:1;2981:14;:17::i;:::-;2975:23;-1:-1:-1;3034:2:13;3016:20;;:45;;3060:1;3016:45;;;3039:18;:7;;3054:2;3039:14;:18::i;:::-;3008:53;;2697:371;;;;;:::o;3074:380::-;3163:11;;;3244:2;3226:20;;;;;:44;;-1:-1:-1;3268:2:13;3250:20;;;3226:44;3222:87;;;3279:30;;-1:-1:-1;;;3279:30:13;;;;;;;;;;;3222:87;3325:17;:7;;3340:1;3325:14;:17::i;:::-;3319:23;-1:-1:-1;3367:17:13;:7;;3381:2;3367:13;:17::i;:::-;3352:32;-1:-1:-1;3420:2:13;3402:20;;:45;;3446:1;3402:45;;;3425:18;:7;;3440:2;3425:14;:18::i;7738:720:108:-;7818:18;7846:19;7984:4;7981:1;7974:4;7968:11;7961:4;7955;7951:15;7948:1;7941:5;7934;7929:60;8041:7;8031:176;;8085:4;8079:11;8130:16;8127:1;8122:3;8107:40;8176:16;8171:3;8164:29;8031:176;-1:-1:-1;;8284:1:108;8278:8;8234:16;;-1:-1:-1;8310:15:108;;:68;;8362:11;8377:1;8362:16;;8310:68;;;-1:-1:-1;;;;;8328:26:108;;;:31;8310:68;8306:146;;;8401:40;;-1:-1:-1;;;8401:40:108;;-1:-1:-1;;;;;3043:32:122;;8401:40:108;;;3025:51:122;2998:18;;8401:40:108;2879:203:122;8306:146:108;7808:650;;7738:720;;:::o;229:215:43:-;306:6;371:1;362:10;;407:18;362:10;:6;407;;:18;:::i;:::-;400:26;;;:::i;:::-;393:34;;;229:215;-1:-1:-1;;;;;229:215:43:o;95:128::-;171:5;201:6;;208;201:14;;;;;;;:::i;:::-;;;;;;;;;95:128;-1:-1:-1;;;;;95:128:43:o;892:220::-;970:7;1036:2;1027:11;;1075:18;1027:11;:6;1075;;:18;:::i;:::-;1067:27;;;:::i;:::-;1059:36;;;892:220;-1:-1:-1;;;;;892:220:43:o;1570:210::-;1647:7;1713:2;1704:11;;1744:18;1704:11;:6;1744;;:18;:::i;:::-;1736:27;;;:::i;450:215::-;527:6;592:1;583:10;;628:18;583:10;:6;628;;:18;:::i;:::-;621:26;;;:::i;:::-;614:34;;;450:215;-1:-1:-1;;;;;450:215:43:o;14:173:122:-;82:20;;-1:-1:-1;;;;;131:31:122;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:328::-;269:6;277;285;338:2;326:9;317:7;313:23;309:32;306:52;;;354:1;351;344:12;306:52;377:29;396:9;377:29;:::i;:::-;367:39;;425:38;459:2;448:9;444:18;425:38;:::i;:::-;415:48;;510:2;499:9;495:18;482:32;472:42;;192:328;;;;;:::o;525:158::-;587:5;632:3;623:6;618:3;614:16;610:26;607:46;;;649:1;646;639:12;607:46;-1:-1:-1;671:6:122;525:158;-1:-1:-1;525:158:122:o;688:347::-;739:8;749:6;803:3;796:4;788:6;784:17;780:27;770:55;;821:1;818;811:12;770:55;-1:-1:-1;844:20:122;;887:18;876:30;;873:50;;;919:1;916;909:12;873:50;956:4;948:6;944:17;932:29;;1008:3;1001:4;992:6;984;980:19;976:30;973:39;970:59;;;1025:1;1022;1015:12;970:59;688:347;;;;;:::o;1040:692::-;1193:6;1201;1209;1217;1261:9;1252:7;1248:23;1291:3;1287:2;1283:12;1280:32;;;1308:1;1305;1298:12;1280:32;1332:2;1328;1324:11;1321:31;;;1348:1;1345;1338:12;1321:31;;1371:9;1361:19;;1399:65;1456:7;1451:2;1440:9;1436:18;1399:65;:::i;:::-;1389:75;;1515:3;1504:9;1500:19;1487:33;1543:18;1535:6;1532:30;1529:50;;;1575:1;1572;1565:12;1529:50;1614:58;1664:7;1655:6;1644:9;1640:22;1614:58;:::i;:::-;1040:692;;;;-1:-1:-1;1691:8:122;-1:-1:-1;;;;1040:692:122:o;1919:672::-;2065:6;2073;2081;2089;2142:3;2130:9;2121:7;2117:23;2113:33;2110:53;;;2159:1;2156;2149:12;2110:53;2182:56;2230:7;2219:9;2182:56;:::i;:::-;2172:66;;2257;2315:7;2309:3;2298:9;2294:19;2257:66;:::i;:::-;2247:76;;2374:3;2363:9;2359:19;2346:33;2402:18;2394:6;2391:30;2388:50;;;2434:1;2431;2424:12;3087:186;3146:6;3199:2;3187:9;3178:7;3174:23;3170:32;3167:52;;;3215:1;3212;3205:12;3167:52;3238:29;3257:9;3238:29;:::i;:::-;3228:39;3087:186;-1:-1:-1;;;3087:186:122:o;3278:284::-;3336:6;3389:2;3377:9;3368:7;3364:23;3360:32;3357:52;;;3405:1;3402;3395:12;3357:52;3444:9;3431:23;3494:18;3487:5;3483:30;3476:5;3473:41;3463:69;;3528:1;3525;3518:12;3764:146;-1:-1:-1;;;;;3843:5:122;3839:46;3832:5;3829:57;3819:85;;3900:1;3897;3890:12;3915:247;3974:6;4027:2;4015:9;4006:7;4002:23;3998:32;3995:52;;;4043:1;4040;4033:12;3995:52;4082:9;4069:23;4101:31;4126:5;4101:31;:::i;4535:581::-;4632:6;4640;4648;4656;4709:3;4697:9;4688:7;4684:23;4680:33;4677:53;;;4726:1;4723;4716:12;4677:53;4755:9;4749:16;4739:26;;4808:2;4797:9;4793:18;4787:25;4821:31;4846:5;4821:31;:::i;:::-;4921:2;4906:18;;4900:25;4871:5;;-1:-1:-1;4934:33:122;4900:25;4934:33;:::i;:::-;5038:2;5023:18;;5017:25;4986:7;;-1:-1:-1;5051:33:122;5017:25;5051:33;:::i;:::-;4535:581;;;;-1:-1:-1;4535:581:122;;-1:-1:-1;;4535:581:122:o;5121:272::-;5179:6;5232:2;5220:9;5211:7;5207:23;5203:32;5200:52;;;5248:1;5245;5238:12;5200:52;5287:9;5274:23;5337:6;5330:5;5326:18;5319:5;5316:29;5306:57;;5359:1;5356;5349:12;5398:127;5459:10;5454:3;5450:20;5447:1;5440:31;5490:4;5487:1;5480:15;5514:4;5511:1;5504:15;5530:125;5595:9;;;5616:10;;;5613:36;;;5629:18;;:::i;:::-;5530:125;;;;:::o;5660:276::-;5718:6;5771:2;5759:9;5750:7;5746:23;5742:32;5739:52;;;5787:1;5784;5777:12;5739:52;5826:9;5813:23;5876:10;5869:5;5865:22;5858:5;5855:33;5845:61;;5902:1;5899;5892:12;6280:168;6353:9;;;6384;;6401:15;;;6395:22;;6381:37;6371:71;;6422:18;;:::i;6453:217::-;6493:1;6519;6509:132;;6563:10;6558:3;6554:20;6551:1;6544:31;6598:4;6595:1;6588:15;6626:4;6623:1;6616:15;6509:132;-1:-1:-1;6655:9:122;;6453:217::o;7353:135::-;7392:3;7413:17;;;7410:43;;7433:18;;:::i;:::-;-1:-1:-1;7480:1:122;7469:13;;7353:135::o;7493:172::-;7560:10;7590;;;7602;;;7586:27;;7625:11;;;7622:37;;;7639:18;;:::i;:::-;7622:37;7493:172;;;;:::o;7964:331::-;8069:9;8080;8122:8;8110:10;8107:24;8104:44;;;8144:1;8141;8134:12;8104:44;8173:6;8163:8;8160:20;8157:40;;;8193:1;8190;8183:12;8157:40;-1:-1:-1;;8219:23:122;;;8264:25;;;;;-1:-1:-1;7964:331:122:o;8300:318::-;-1:-1:-1;;;;;;8420:19:122;;8491:11;;;;8522:1;8514:10;;8511:101;;;8599:2;8593;8586:3;8583:1;8579:11;8576:1;8572:19;8568:28;8564:2;8560:37;8556:46;8547:55;;8511:101;;;8300:318;;;;:::o;8623:127::-;8684:10;8679:3;8675:20;8672:1;8665:31;8715:4;8712:1;8705:15;8739:4;8736:1;8729:15;8755:345;-1:-1:-1;;8876:19:122;;8971:11;;;;9002:2;8994:11;;8991:103;;;9064:2;9060:12;;;;9057:1;9053:20;9049:29;;;9041:38;9037:47;;;;8755:345;-1:-1:-1;;8755:345:122:o;9105:255::-;9225:19;;9264:2;9256:11;;9253:101;;;-1:-1:-1;;9325:2:122;9321:12;;;9318:1;9314:20;9310:33;9299:45;9105:255;;;;:::o;9365:323::-;-1:-1:-1;;;;;;9485:19:122;;9561:11;;;;9592:1;9584:10;;9581:101;;;9653:1;9649:11;;;;9646:1;9642:19;9638:28;;;9630:37;9626:46;;;;9365:323;-1:-1:-1;;9365:323:122:o","linkReferences":{},"immutableReferences":{"17402":[{"start":1840,"length":32}],"17404":[{"start":517,"length":32},{"start":672,"length":32}]}},"methodIdentifiers":{"getFee((address,address,uint16),(uint64,uint16,uint128,uint128,uint64),bytes)":"337c7a9e","getFee((address,uint32,address,uint256,uint16),(uint64,uint16,uint128,uint128,uint64),bytes)":"434ee016","getFeeOnSend((address,address,uint16),(uint64,uint16,uint128,uint128,uint64),bytes)":"65003784","getFeeOnSend((address,uint32,address,uint256,uint16),(uint64,uint16,uint128,uint128,uint64),bytes)":"566ef762","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawToken(address,address,uint256)":"01e33667"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_localEidV2\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"Executor_EidNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"name\":\"Executor_InvalidExecutorOptions\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidLzComposeOption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidLzReadOption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidLzReceiveOption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidNativeDropOption\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"Executor_NativeAmountExceedsCap\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_NoOptions\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"optionType\",\"type\":\"uint8\"}],\"name\":\"Executor_UnsupportedOptionType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_ZeroCalldataSizeProvided\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_ZeroLzComposeGasProvided\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_ZeroLzReceiveGasProvided\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer_NativeFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Transfer_ToAddressIsZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"defaultMultiplierBps\",\"type\":\"uint16\"}],\"internalType\":\"struct IExecutorFeeLib.FeeParamsForRead\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"lzReceiveBaseGas\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"multiplierBps\",\"type\":\"uint16\"},{\"internalType\":\"uint128\",\"name\":\"floorMarginUSD\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"nativeCap\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"lzComposeBaseGas\",\"type\":\"uint64\"}],\"internalType\":\"struct IExecutor.DstConfig\",\"name\":\"_dstConfig\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_options\",\"type\":\"bytes\"}],\"name\":\"getFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"n