{"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_lzEndpoint","type":"address","internalType":"address"},{"name":"_delegate","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"SEND","inputs":[],"outputs":[{"name":"","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"SEND_AND_CALL","inputs":[],"outputs":[{"name":"","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"allowInitializePath","inputs":[{"name":"origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"approvalRequired","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"combineOptions","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"},{"name":"_msgType","type":"uint16","internalType":"uint16"},{"name":"_extraOptions","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"credit","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amountToCreditLD","type":"uint256","internalType":"uint256"},{"name":"_srcEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"amountReceivedLD","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"debit","inputs":[{"name":"_amountToSendLD","type":"uint256","internalType":"uint256"},{"name":"_minAmountToCreditLD","type":"uint256","internalType":"uint256"},{"name":"_dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"amountDebitedLD","type":"uint256","internalType":"uint256"},{"name":"amountToCreditLD","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"debitView","inputs":[{"name":"_amountToSendLD","type":"uint256","internalType":"uint256"},{"name":"_minAmountToCreditLD","type":"uint256","internalType":"uint256"},{"name":"_dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"amountDebitedLD","type":"uint256","internalType":"uint256"},{"name":"amountToCreditLD","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalConversionRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"endpoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ILayerZeroEndpointV2"}],"stateMutability":"view"},{"type":"function","name":"enforcedOptions","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"msgType","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"enforcedOption","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"isComposeMsgSender","inputs":[{"name":"","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPeer","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"},{"name":"_peer","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lzReceive","inputs":[{"name":"_origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_executor","type":"address","internalType":"address"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"lzReceiveAndRevert","inputs":[{"name":"_packets","type":"tuple[]","internalType":"struct InboundPacket[]","components":[{"name":"origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"receiver","type":"address","internalType":"address"},{"name":"guid","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"executor","type":"address","internalType":"address"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"extraData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"lzReceiveSimulate","inputs":[{"name":"_origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_executor","type":"address","internalType":"address"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"msgInspector","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"nextNonce","inputs":[{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"oApp","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"oAppVersion","inputs":[],"outputs":[{"name":"senderVersion","type":"uint64","internalType":"uint64"},{"name":"receiverVersion","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"type":"function","name":"oftVersion","inputs":[],"outputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"},{"name":"version","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"peers","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"peer","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"preCrime","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"quoteOFT","inputs":[{"name":"_sendParam","type":"tuple","internalType":"struct SendParam","components":[{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"to","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"minAmountLD","type":"uint256","internalType":"uint256"},{"name":"extraOptions","type":"bytes","internalType":"bytes"},{"name":"composeMsg","type":"bytes","internalType":"bytes"},{"name":"oftCmd","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"oftLimit","type":"tuple","internalType":"struct OFTLimit","components":[{"name":"minAmountLD","type":"uint256","internalType":"uint256"},{"name":"maxAmountLD","type":"uint256","internalType":"uint256"}]},{"name":"oftFeeDetails","type":"tuple[]","internalType":"struct OFTFeeDetail[]","components":[{"name":"feeAmountLD","type":"int256","internalType":"int256"},{"name":"description","type":"string","internalType":"string"}]},{"name":"oftReceipt","type":"tuple","internalType":"struct OFTReceipt","components":[{"name":"amountSentLD","type":"uint256","internalType":"uint256"},{"name":"amountReceivedLD","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"quoteSend","inputs":[{"name":"_sendParam","type":"tuple","internalType":"struct SendParam","components":[{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"to","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"minAmountLD","type":"uint256","internalType":"uint256"},{"name":"extraOptions","type":"bytes","internalType":"bytes"},{"name":"composeMsg","type":"bytes","internalType":"bytes"},{"name":"oftCmd","type":"bytes","internalType":"bytes"}]},{"name":"_payInLzToken","type":"bool","internalType":"bool"}],"outputs":[{"name":"msgFee","type":"tuple","internalType":"struct MessagingFee","components":[{"name":"nativeFee","type":"uint256","internalType":"uint256"},{"name":"lzTokenFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"removeDust","inputs":[{"name":"_amountLD","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amountLD","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"send","inputs":[{"name":"_sendParam","type":"tuple","internalType":"struct SendParam","components":[{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"to","type":"bytes32","internalType":"bytes32"},{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"minAmountLD","type":"uint256","internalType":"uint256"},{"name":"extraOptions","type":"bytes","internalType":"bytes"},{"name":"composeMsg","type":"bytes","internalType":"bytes"},{"name":"oftCmd","type":"bytes","internalType":"bytes"}]},{"name":"_fee","type":"tuple","internalType":"struct MessagingFee","components":[{"name":"nativeFee","type":"uint256","internalType":"uint256"},{"name":"lzTokenFee","type":"uint256","internalType":"uint256"}]},{"name":"_refundAddress","type":"address","internalType":"address"}],"outputs":[{"name":"msgReceipt","type":"tuple","internalType":"struct MessagingReceipt","components":[{"name":"guid","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"fee","type":"tuple","internalType":"struct MessagingFee","components":[{"name":"nativeFee","type":"uint256","internalType":"uint256"},{"name":"lzTokenFee","type":"uint256","internalType":"uint256"}]}]},{"name":"oftReceipt","type":"tuple","internalType":"struct OFTReceipt","components":[{"name":"amountSentLD","type":"uint256","internalType":"uint256"},{"name":"amountReceivedLD","type":"uint256","internalType":"uint256"}]}],"stateMutability":"payable"},{"type":"function","name":"setDelegate","inputs":[{"name":"_delegate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnforcedOptions","inputs":[{"name":"_enforcedOptions","type":"tuple[]","internalType":"struct EnforcedOptionParam[]","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"msgType","type":"uint16","internalType":"uint16"},{"name":"options","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMsgInspector","inputs":[{"name":"_msgInspector","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeer","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"},{"name":"_peer","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPreCrime","inputs":[{"name":"_preCrime","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sharedDecimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"EnforcedOptionSet","inputs":[{"name":"_enforcedOptions","type":"tuple[]","indexed":false,"internalType":"struct EnforcedOptionParam[]","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"msgType","type":"uint16","internalType":"uint16"},{"name":"options","type":"bytes","internalType":"bytes"}]}],"anonymous":false},{"type":"event","name":"MsgInspectorSet","inputs":[{"name":"inspector","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OFTReceived","inputs":[{"name":"guid","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"srcEid","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amountReceivedLD","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OFTSent","inputs":[{"name":"guid","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"dstEid","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amountSentLD","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountReceivedLD","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PeerSet","inputs":[{"name":"eid","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"peer","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PreCrimeSet","inputs":[{"name":"preCrimeAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InvalidDelegate","inputs":[]},{"type":"error","name":"InvalidEndpointCall","inputs":[]},{"type":"error","name":"InvalidLocalDecimals","inputs":[]},{"type":"error","name":"InvalidOptions","inputs":[{"name":"options","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"LzTokenUnavailable","inputs":[]},{"type":"error","name":"NativeTokenUnavailable","inputs":[]},{"type":"error","name":"NoPeer","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"NotEnoughNative","inputs":[{"name":"msgValue","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OFTAltCore__msg_value_not_zero","inputs":[{"name":"_msg_value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OnlyEndpoint","inputs":[{"name":"addr","type":"address","internalType":"address"}]},{"type":"error","name":"OnlyPeer","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"OnlySelf","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":"SimulationResult","inputs":[{"name":"result","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"SlippageExceeded","inputs":[{"name":"amountLD","type":"uint256","internalType":"uint256"},{"name":"minAmountLD","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60e060405234801562000010575f80fd5b50604051620036fb380380620036fb833981016040819052620000339162000249565b828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000073573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000099919062000290565b8282818181818a6001600160a01b038116620000ce57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b620000d981620001d9565b506001600160a01b0380831660805281166200010857604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b1580156200014d575f80fd5b505af115801562000160573d5f803e3d5ffd5b5050505050505050620001786200022860201b60201c565b60ff168360ff1610156200019f576040516301e9714b60e41b815260040160405180910390fd5b620001ac600684620002cd565b620001b990600a620003e8565b60a0525050506001600160a01b0390921660c05250620003f89350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b80516001600160a01b038116811462000244575f80fd5b919050565b5f805f606084860312156200025c575f80fd5b62000267846200022d565b925062000277602085016200022d565b915062000287604085016200022d565b90509250925092565b5f60208284031215620002a1575f80fd5b815160ff81168114620002b2575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115620002e957620002e9620002b9565b92915050565b600181815b808511156200032f57815f1904821115620003135762000313620002b9565b808516156200032157918102915b93841c9390800290620002f4565b509250929050565b5f826200034757506001620002e9565b816200035557505f620002e9565b81600181146200036e5760028114620003795762000399565b6001915050620002e9565b60ff8411156200038d576200038d620002b9565b50506001821b620002e9565b5060208310610133831016604e8410600b8410161715620003be575081810a620002e9565b620003ca8383620002ef565b805f1904821115620003e057620003e0620002b9565b029392505050565b5f620002b260ff84168362000337565b60805160a05160c051613276620004855f395f8181610797015281816116f1015261174c01525f81816105dd0152818161193a01528181611aa40152611b5501525f81816104da015281816108a801528181610ffa0152818161131b0152818161160001528181611d0b01528181611e8d01528181611f8401528181611fb301526120aa01526132765ff3fe60806040526004361061025d575f3560e01c806382413eac1161014b578063bd815db0116100c6578063d42438851161007c578063f2fde38b11610062578063f2fde38b1461076a578063fc0c546a14610789578063ff7bd03d146107bb575f80fd5b8063d42438851461072c578063f01630231461074b575f80fd5b8063c7c7f5b3116100ac578063c7c7f5b3146106d9578063ca5eb5e1146106fa578063d045a0dc14610719575f80fd5b8063bd815db0146106a7578063c0779988146106ba575f80fd5b80639f68b9641161011b578063b98bd07011610101578063b98bd0701461063e578063bb0b6a531461065d578063bc70b35414610688575f80fd5b80639f68b964146105ff578063b731ea0a14610612575f80fd5b806382413eac14610569578063857749b0146105885780638da5cb5b146105a3578063963efcaa146105cc575f80fd5b80634dba701b116101db5780635a0dfe4d116101ab5780636fc1b31e116101915780636fc1b31e146104fc578063715018a61461051b5780637d25a05e1461052f575f80fd5b80635a0dfe4d146104845780635e280f11146104c9575f80fd5b80634dba701b146103e557806352ae28791461041257806354f52414146104245780635535d46114610458575f80fd5b8063156a0d0f116102305780631f5e1334116102165780631f5e1334146103865780633400288b1461039a5780633b6f743b146103b9575f80fd5b8063156a0d0f1461032557806317442b7014610365575f80fd5b80630d35b41514610261578063111ecdad1461029857806313137d65146102e9578063134d4f25146102fe575b5f80fd5b34801561026c575f80fd5b5061028061027b366004612129565b6107da565b60405161028f939291906121c6565b60405180910390f35b3480156102a3575f80fd5b506004546102c49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028f565b6102fc6102f73660046122f1565b6108a6565b005b348015610309575f80fd5b50610312600281565b60405161ffff909116815260200161028f565b348015610330575f80fd5b50604080517f02e49c2c000000000000000000000000000000000000000000000000000000008152600160208201520161028f565b348015610370575f80fd5b506040805160018152600260208201520161028f565b348015610391575f80fd5b50610312600181565b3480156103a5575f80fd5b506102fc6103b43660046123a2565b6109a5565b3480156103c4575f80fd5b506103d86103d33660046123d7565b6109bb565b60405161028f9190612426565b3480156103f0575f80fd5b506104046103ff36600461243d565b610a21565b60405190815260200161028f565b34801561041d575f80fd5b50306102c4565b34801561042f575f80fd5b5061044361043e366004612478565b610a37565b6040805192835260208301919091520161028f565b348015610463575f80fd5b506104776104723660046124b2565b610a52565b60405161028f91906124e3565b34801561048f575f80fd5b506104b961049e3660046123a2565b63ffffffff919091165f908152600160205260409020541490565b604051901515815260200161028f565b3480156104d4575f80fd5b506102c47f000000000000000000000000000000000000000000000000000000000000000081565b348015610507575f80fd5b506102fc6105163660046124f5565b610af4565b348015610526575f80fd5b506102fc610b76565b34801561053a575f80fd5b506105506105493660046123a2565b5f92915050565b60405167ffffffffffffffff909116815260200161028f565b348015610574575f80fd5b506104b9610583366004612510565b610b89565b348015610593575f80fd5b506040516006815260200161028f565b3480156105ae575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff166102c4565b3480156105d7575f80fd5b506104047f000000000000000000000000000000000000000000000000000000000000000081565b34801561060a575f80fd5b5060016104b9565b34801561061d575f80fd5b506002546102c49073ffffffffffffffffffffffffffffffffffffffff1681565b348015610649575f80fd5b506102fc6106583660046125b4565b610bab565b348015610668575f80fd5b506104046106773660046125f3565b60016020525f908152604090205481565b348015610693575f80fd5b506104776106a236600461260c565b610bc5565b6102fc6106b53660046125b4565b610d7f565b3480156106c5575f80fd5b506104046106d4366004612669565b610f43565b6106ec6106e7366004612680565b610f4d565b60405161028f929190612707565b348015610705575f80fd5b506102fc6107143660046124f5565b610fad565b6102fc6107273660046122f1565b611054565b348015610737575f80fd5b506102fc6107463660046124f5565b61109c565b348015610756575f80fd5b50610443610765366004612478565b611117565b348015610775575f80fd5b506102fc6107843660046124f5565b611124565b348015610794575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000006102c4565b3480156107c6575f80fd5b506104b96107d5366004612759565b611187565b604080518082019091525f8082526020820152606061080a60405180604001604052805f81526020015f81525090565b6040805180820182525f80825267ffffffffffffffff602080840182905284518381529081019094529195509182610864565b604080518082019091525f81526060602082015281526020019060019003908161083d5790505b5093505f80610888604089013560608a013561088360208c018c6125f3565b6111bb565b60408051808201909152918252602082015296989597505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461091c576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061093690610931908a6125f3565b61120f565b1461098d5761094860208801886125f3565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610913565b61099c87878787878787611263565b50505050505050565b6109ad6113f4565b6109b78282611446565b5050565b604080518082019091525f80825260208201525f6109e96040850135606086013561088360208801886125f3565b9150505f806109f8868461149a565b9092509050610a15610a0d60208801886125f3565b8383886115eb565b93505050505b92915050565b5f610a2d8484846116d6565b90505b9392505050565b5f80610a4533868686611720565b915091505b935093915050565b600360209081525f928352604080842090915290825290208054610a75906127a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa1906127a0565b8015610aec5780601f10610ac357610100808354040283529160200191610aec565b820191905f5260205f20905b815481529060010190602001808311610acf57829003601f168201915b505050505081565b610afc6113f4565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610b7e6113f4565b610b875f61177d565b565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610bb36113f4565b6109b7610bc082846128cb565b6117f1565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610bf8906127a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c24906127a0565b8015610c6f5780601f10610c4657610100808354040283529160200191610c6f565b820191905f5260205f20905b815481529060010190602001808311610c5257829003601f168201915b5050505050905080515f03610cbd5783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610ba39350505050565b5f839003610ccc579050610ba3565b60028310610d4957610d1284848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506118f292505050565b80610d2084600281886129d4565b604051602001610d32939291906129fb565b604051602081830303815290604052915050610ba3565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610913929190612a68565b5f5b81811015610e825736838383818110610d9c57610d9c612a7b565b9050602002810190610dae9190612aa8565b9050610de0610dc060208301836125f3565b602083013563ffffffff919091165f908152600160205260409020541490565b610dea5750610e7a565b3063d045a0dc60c08301358360a0810135610e09610100830183612ae4565b610e1a610100890160e08a016124f5565b610e286101208a018a612ae4565b6040518963ffffffff1660e01b8152600401610e4a9796959493929190612b5a565b5f604051808303818588803b158015610e61575f80fd5b505af1158015610e73573d5f803e3d5ffd5b5050505050505b600101610d81565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ecb573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f109190810190612bed565b6040517f8351eea700000000000000000000000000000000000000000000000000000000815260040161091391906124e3565b5f610a1b82611937565b610f556120cf565b604080518082019091525f80825260208201523415610fa2576040517f8036d4a3000000000000000000000000000000000000000000000000000000008152346004820152602401610913565b610a4585858561196d565b610fb56113f4565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b15801561103b575f80fd5b505af115801561104d573d5f803e3d5ffd5b5050505050565b33301461108d576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61099c8787878787878761098d565b6110a46113f4565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610b6b565b5f80610a458585856111bb565b61112c6113f4565b73ffffffffffffffffffffffffffffffffffffffff811661117b576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610913565b6111848161177d565b50565b5f60208201803590600190839061119e90866125f3565b63ffffffff16815260208101919091526040015f20541492915050565b5f806111c685611937565b915081905083811015610a4a576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610913565b63ffffffff81165f9081526001602052604081205480610a1b576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610913565b5f6112746112718787611a65565b90565b90505f61129f8261128d6112888a8a611a7c565b611a9e565b61129a60208d018d6125f3565b6116d6565b90506028861115611385575f6112db6112be60608c0160408d01612c56565b6112cb60208d018d6125f3565b846112d68c8c611ad3565b611b1d565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906113569086908d905f908790600401612c71565b5f604051808303815f87803b15801561136d575f80fd5b505af115801561137f573d5f803e3d5ffd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff8216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c6113cb60208d018d6125f3565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610b87576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610913565b63ffffffff82165f81815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6060805f6114f585602001356114af86611b4f565b6114bc60a0890189612ae4565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611b7a92505050565b90935090505f8161150757600161150a565b60025b905061152a61151c60208801886125f3565b826106a260808a018a612ae4565b60045490935073ffffffffffffffffffffffffffffffffffffffff1680156115e1576040517f043a78eb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063043a78eb906115a09088908890600401612caf565b602060405180830381865afa1580156115bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115df9190612cd3565b505b5050509250929050565b604080518082019091525f80825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff16815260200161165a8961120f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161168f929190612cee565b6040805180830381865afa1580156116a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cd9190612dbf565b95945050505050565b5f61171873ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168585611c0c565b509092915050565b5f8061172d8585856111bb565b909250905061177473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016873085611c92565b94509492505050565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b81518110156118c25761182282828151811061181157611811612a7b565b6020026020010151604001516118f2565b81818151811061183457611834612a7b565b60200260200101516040015160035f84848151811061185557611855612a7b565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f84848151811061188c5761188c612a7b565b60200260200101516020015161ffff1661ffff1681526020019081526020015f2090816118b99190612e1d565b506001016117f3565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610b6b9190612f39565b600281015161ffff81166003146109b757816040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161091391906124e3565b5f7f00000000000000000000000000000000000000000000000000000000000000006119638184612fe0565b610a1b9190613018565b6119756120cf565b604080518082019091525f80825260208201525f806119aa33604089013560608a01356119a560208c018c6125f3565b611720565b915091505f806119ba898461149a565b90925090506119e66119cf60208b018b6125f3565b83836119e0368d90038d018d613054565b8b611cde565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611a34908d018d6125f3565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b5f611a7360208284866129d4565b610a3091613084565b5f611a8b6028602084866129d4565b611a94916130c0565b60c01c9392505050565b5f610a1b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8416613018565b6060611ae282602881866129d4565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b606084848484604051602001611b369493929190613108565b6040516020818303038152906040529050949350505050565b5f610a1b7f000000000000000000000000000000000000000000000000000000000000000083612fe0565b8051606090151580611bdb578484604051602001611bc792919091825260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016602082015260280190565b604051602081830303815290604052611c02565b84843385604051602001611bf29493929190613185565b6040516020818303038152906040525b9150935093915050565b60405173ffffffffffffffffffffffffffffffffffffffff838116602483015260448201839052611c8d91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611dea565b505050565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052611cd89186918216906323b872dd90608401611c46565b50505050565b611ce66120cf565b8251611cf190611e89565b50602083015115611d0957611d098360200151611fb0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a4506040518060a001604052808963ffffffff168152602001611d658a61120f565b81526020018881526020018781526020015f8760200151111515815250846040518363ffffffff1660e01b8152600401611da0929190612cee565b6080604051808303815f875af1158015611dbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de091906131dd565b9695505050505050565b5f8060205f8451602086015f885af180611e09576040513d5f823e3d81fd5b50505f513d91508115611e20578060011415611e3a565b73ffffffffffffffffffffffffffffffffffffffff84163b155b15611cd8576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610913565b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f189190613225565b905073ffffffffffffffffffffffffffffffffffffffff8116611f67576040517f8dce522700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fa973ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000086611c92565b5090919050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561201a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203e9190613225565b905073ffffffffffffffffffffffffffffffffffffffff811661208d576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109b773ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611c92565b60405180606001604052805f80191681526020015f67ffffffffffffffff16815260200161210e60405180604001604052805f81526020015f81525090565b905290565b5f60e08284031215612123575f80fd5b50919050565b5f60208284031215612139575f80fd5b813567ffffffffffffffff81111561214f575f80fd5b610ba384828501612113565b5f5b8381101561217557818101518382015260200161215d565b50505f910152565b5f815180845261219481602086016020860161215b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83518152602080850151908201525f60a08201604060a0604085015281865180845260c08601915060c08160051b870101935060208089015f5b8381101561225d578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4001855281518051885283015183880187905261224a8789018261217d565b9750509382019390820190600101612200565b50508751606088015250505060208501516080850152509050610ba3565b5f60608284031215612123575f80fd5b5f8083601f84011261229b575f80fd5b50813567ffffffffffffffff8111156122b2575f80fd5b6020830191508360208285010111156122c9575f80fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114611184575f80fd5b5f805f805f805f60e0888a031215612307575f80fd5b612311898961227b565b965060608801359550608088013567ffffffffffffffff80821115612334575f80fd5b6123408b838c0161228b565b909750955060a08a01359150612355826122d0565b90935060c0890135908082111561236a575f80fd5b506123778a828b0161228b565b989b979a50959850939692959293505050565b803563ffffffff8116811461239d575f80fd5b919050565b5f80604083850312156123b3575f80fd5b6123bc8361238a565b946020939093013593505050565b8015158114611184575f80fd5b5f80604083850312156123e8575f80fd5b823567ffffffffffffffff8111156123fe575f80fd5b61240a85828601612113565b925050602083013561241b816123ca565b809150509250929050565b815181526020808301519082015260408101610a1b565b5f805f6060848603121561244f575f80fd5b833561245a816122d0565b92506020840135915061246f6040850161238a565b90509250925092565b5f805f6060848603121561248a575f80fd5b833592506020840135915061246f6040850161238a565b803561ffff8116811461239d575f80fd5b5f80604083850312156124c3575f80fd5b6124cc8361238a565b91506124da602084016124a1565b90509250929050565b602081525f610a30602083018461217d565b5f60208284031215612505575f80fd5b8135610a30816122d0565b5f805f8060a08587031215612523575f80fd5b61252d868661227b565b9350606085013567ffffffffffffffff811115612548575f80fd5b6125548782880161228b565b9094509250506080850135612568816122d0565b939692955090935050565b5f8083601f840112612583575f80fd5b50813567ffffffffffffffff81111561259a575f80fd5b6020830191508360208260051b85010111156122c9575f80fd5b5f80602083850312156125c5575f80fd5b823567ffffffffffffffff8111156125db575f80fd5b6125e785828601612573565b90969095509350505050565b5f60208284031215612603575f80fd5b610a308261238a565b5f805f806060858703121561261f575f80fd5b6126288561238a565b9350612636602086016124a1565b9250604085013567ffffffffffffffff811115612651575f80fd5b61265d8782880161228b565b95989497509550505050565b5f60208284031215612679575f80fd5b5035919050565b5f805f8385036080811215612693575f80fd5b843567ffffffffffffffff8111156126a9575f80fd5b6126b587828801612113565b94505060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156126e7575f80fd5b5060208401915060608401356126fc816122d0565b809150509250925092565b5f60c0820190508351825267ffffffffffffffff60208501511660208301526040840151612742604084018280518252602090810151910152565b5082516080830152602083015160a0830152610a30565b5f60608284031215612769575f80fd5b610a30838361227b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b600181811c908216806127b457607f821691505b602082108103612123577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b6040516060810167ffffffffffffffff8111828210171561280e5761280e612773565b60405290565b6040805190810167ffffffffffffffff8111828210171561280e5761280e612773565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561287e5761287e612773565b604052919050565b5f67ffffffffffffffff82111561289f5761289f612773565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f67ffffffffffffffff808411156128e5576128e5612773565b8360051b60206128f6818301612837565b86815291850191818101903684111561290d575f80fd5b865b848110156129c857803586811115612925575f80fd5b88016060368290031215612937575f80fd5b61293f6127eb565b6129488261238a565b81526129558683016124a1565b868201526040808301358981111561296b575f80fd5b929092019136601f84011261297e575f80fd5b823561299161298c82612886565b612837565b81815236898387010111156129a4575f80fd5b818986018a8301375f9181018901919091529082015284525091830191830161290f565b50979650505050505050565b5f80858511156129e2575f80fd5b838611156129ee575f80fd5b5050820193919092039150565b5f8451612a0c81846020890161215b565b8201838582375f930192835250909392505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081525f610a2d602083018486612a21565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612ada575f80fd5b9190910192915050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b17575f80fd5b83018035915067ffffffffffffffff821115612b31575f80fd5b6020019150368190038213156122c9575f80fd5b67ffffffffffffffff81168114611184575f80fd5b63ffffffff612b688961238a565b168152602088013560208201525f6040890135612b8481612b45565b67ffffffffffffffff811660408401525087606083015260e06080830152612bb060e083018789612a21565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612bdf818587612a21565b9a9950505050505050505050565b5f60208284031215612bfd575f80fd5b815167ffffffffffffffff811115612c13575f80fd5b8201601f81018413612c23575f80fd5b8051612c3161298c82612886565b818152856020838501011115612c45575f80fd5b6116cd82602083016020860161215b565b5f60208284031215612c66575f80fd5b8135610a3081612b45565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015261ffff83166040820152608060608201525f611de0608083018461217d565b604081525f612cc1604083018561217d565b82810360208401526116cd818561217d565b5f60208284031215612ce3575f80fd5b8151610a30816123ca565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a06080840152612d2360e084018261217d565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152612d5e828261217d565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b5f60408284031215612da1575f80fd5b612da9612814565b9050815181526020820151602082015292915050565b5f60408284031215612dcf575f80fd5b610a308383612d91565b601f821115611c8d57805f5260205f20601f840160051c81016020851015612dfe5750805b601f840160051c820191505b8181101561104d575f8155600101612e0a565b815167ffffffffffffffff811115612e3757612e37612773565b612e4b81612e4584546127a0565b84612dd9565b602080601f831160018114612e9d575f8415612e675750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612f31565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612ee957888601518255948401946001909101908401612eca565b5085821015612f2557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015612fd2578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052612fbe8186018361217d565b968901969450505090860190600101612f60565b509098975050505050505050565b5f82613013577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8082028115828204841417610a1b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60408284031215613064575f80fd5b61306c612814565b82358152602083013560208201528091505092915050565b80356020831015610a1b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156131005780818660080360031b1b83161692505b505092915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201525f825161317581602c85016020870161215b565b91909101602c0195945050505050565b8481527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1660208201528260288201525f82516131cd81604885016020870161215b565b9190910160480195945050505050565b5f608082840312156131ed575f80fd5b6131f56127eb565b82518152602083015161320781612b45565b60208201526132198460408501612d91565b60408201529392505050565b5f60208284031215613235575f80fd5b8151610a30816122d056fea26469706673582212203e76be3d64539582413ab9311712e728deff90d117861ca6faba4f4a69afd89b64736f6c63430008160033","sourceMap":"203:1149:139:-:0;;;253:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;365:6;373:11;386:9;1539:6:0;-1:-1:-1;;;;;1524:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1559:11;1572:9;1559:11;1572:9;1559:11;1572:9;405::139;-1:-1:-1;;;;;1273:26:116;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:116;;1350:1;1322:31;;;1003:51:141;976:18;;1322:31:116;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;;;;;;1047:42:55;;;;;1104:23;;1100:53;;1136:17;;-1:-1:-1;;;1136:17:55;;;;;;;;;;;1100:53;1163:8;;:31;;-1:-1:-1;;;1163:31:55;;-1:-1:-1;;;;;1021:32:141;;;1163:31:55;;;1003:51:141;1163:20:55;;;;;;976:18:141;;1163:31:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;987:214;;1259:83:53;;2931:16:2::1;:14;;;:16;;:::i;:::-;2914:33;;:14;:33;;;2910:68;;;2956:22;;-1:-1:-1::0;;;2956:22:2::1;;;;;;;;;;;2910:68;3019:33;4401:1:::0;3019:14;:33:::1;:::i;:::-;3012:41;::::0;:2:::1;:41;:::i;:::-;2988:65;::::0;-1:-1:-1;;;;;;;;1593:27:0;;::::1;;::::0;-1:-1:-1;203:1149:139;;-1:-1:-1;;;;203:1149:139;2912:187:116;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:116;;;-1:-1:-1;;;;;;3020:17:116;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;4322:87:2:-;4401:1;;4322:87::o;14:177:141:-;93:13;;-1:-1:-1;;;;;135:31:141;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:378::-;284:6;292;300;353:2;341:9;332:7;328:23;324:32;321:52;;;369:1;366;359:12;321:52;392:40;422:9;392:40;:::i;:::-;382:50;;451:49;496:2;485:9;481:18;451:49;:::i;:::-;441:59;;519:49;564:2;553:9;549:18;519:49;:::i;:::-;509:59;;196:378;;;;;:::o;579:273::-;647:6;700:2;688:9;679:7;675:23;671:32;668:52;;;716:1;713;706:12;668:52;748:9;742:16;798:4;791:5;787:16;780:5;777:27;767:55;;818:1;815;808:12;767:55;841:5;579:273;-1:-1:-1;;;579:273:141:o;1065:127::-;1126:10;1121:3;1117:20;1114:1;1107:31;1157:4;1154:1;1147:15;1181:4;1178:1;1171:15;1197:151;1287:4;1280:12;;;1266;;;1262:31;;1305:14;;1302:40;;;1322:18;;:::i;:::-;1197:151;;;;:::o;1353:416::-;1442:1;1479:5;1442:1;1493:270;1514:7;1504:8;1501:21;1493:270;;;1573:4;1569:1;1565:6;1561:17;1555:4;1552:27;1549:53;;;1582:18;;:::i;:::-;1632:7;1622:8;1618:22;1615:55;;;1652:16;;;;1615:55;1731:22;;;;1691:15;;;;1493:270;;;1497:3;1353:416;;;;;:::o;1774:806::-;1823:5;1853:8;1843:80;;-1:-1:-1;1894:1:141;1908:5;;1843:80;1942:4;1932:76;;-1:-1:-1;1979:1:141;1993:5;;1932:76;2024:4;2042:1;2037:59;;;;2110:1;2105:130;;;;2017:218;;2037:59;2067:1;2058:10;;2081:5;;;2105:130;2142:3;2132:8;2129:17;2126:43;;;2149:18;;:::i;:::-;-1:-1:-1;;2205:1:141;2191:16;;2220:5;;2017:218;;2319:2;2309:8;2306:16;2300:3;2294:4;2291:13;2287:36;2281:2;2271:8;2268:16;2263:2;2257:4;2254:12;2250:35;2247:77;2244:159;;;-1:-1:-1;2356:19:141;;;2388:5;;2244:159;2435:34;2460:8;2454:4;2435:34;:::i;:::-;2505:6;2501:1;2497:6;2493:19;2484:7;2481:32;2478:58;;;2516:18;;:::i;:::-;2554:20;;1774:806;-1:-1:-1;;;1774:806:141:o;2585:140::-;2643:5;2672:47;2713:4;2703:8;2699:19;2693:4;2672:47;:::i;2585:140::-;203:1149:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061025d575f3560e01c806382413eac1161014b578063bd815db0116100c6578063d42438851161007c578063f2fde38b11610062578063f2fde38b1461076a578063fc0c546a14610789578063ff7bd03d146107bb575f80fd5b8063d42438851461072c578063f01630231461074b575f80fd5b8063c7c7f5b3116100ac578063c7c7f5b3146106d9578063ca5eb5e1146106fa578063d045a0dc14610719575f80fd5b8063bd815db0146106a7578063c0779988146106ba575f80fd5b80639f68b9641161011b578063b98bd07011610101578063b98bd0701461063e578063bb0b6a531461065d578063bc70b35414610688575f80fd5b80639f68b964146105ff578063b731ea0a14610612575f80fd5b806382413eac14610569578063857749b0146105885780638da5cb5b146105a3578063963efcaa146105cc575f80fd5b80634dba701b116101db5780635a0dfe4d116101ab5780636fc1b31e116101915780636fc1b31e146104fc578063715018a61461051b5780637d25a05e1461052f575f80fd5b80635a0dfe4d146104845780635e280f11146104c9575f80fd5b80634dba701b146103e557806352ae28791461041257806354f52414146104245780635535d46114610458575f80fd5b8063156a0d0f116102305780631f5e1334116102165780631f5e1334146103865780633400288b1461039a5780633b6f743b146103b9575f80fd5b8063156a0d0f1461032557806317442b7014610365575f80fd5b80630d35b41514610261578063111ecdad1461029857806313137d65146102e9578063134d4f25146102fe575b5f80fd5b34801561026c575f80fd5b5061028061027b366004612129565b6107da565b60405161028f939291906121c6565b60405180910390f35b3480156102a3575f80fd5b506004546102c49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028f565b6102fc6102f73660046122f1565b6108a6565b005b348015610309575f80fd5b50610312600281565b60405161ffff909116815260200161028f565b348015610330575f80fd5b50604080517f02e49c2c000000000000000000000000000000000000000000000000000000008152600160208201520161028f565b348015610370575f80fd5b506040805160018152600260208201520161028f565b348015610391575f80fd5b50610312600181565b3480156103a5575f80fd5b506102fc6103b43660046123a2565b6109a5565b3480156103c4575f80fd5b506103d86103d33660046123d7565b6109bb565b60405161028f9190612426565b3480156103f0575f80fd5b506104046103ff36600461243d565b610a21565b60405190815260200161028f565b34801561041d575f80fd5b50306102c4565b34801561042f575f80fd5b5061044361043e366004612478565b610a37565b6040805192835260208301919091520161028f565b348015610463575f80fd5b506104776104723660046124b2565b610a52565b60405161028f91906124e3565b34801561048f575f80fd5b506104b961049e3660046123a2565b63ffffffff919091165f908152600160205260409020541490565b604051901515815260200161028f565b3480156104d4575f80fd5b506102c47f000000000000000000000000000000000000000000000000000000000000000081565b348015610507575f80fd5b506102fc6105163660046124f5565b610af4565b348015610526575f80fd5b506102fc610b76565b34801561053a575f80fd5b506105506105493660046123a2565b5f92915050565b60405167ffffffffffffffff909116815260200161028f565b348015610574575f80fd5b506104b9610583366004612510565b610b89565b348015610593575f80fd5b506040516006815260200161028f565b3480156105ae575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff166102c4565b3480156105d7575f80fd5b506104047f000000000000000000000000000000000000000000000000000000000000000081565b34801561060a575f80fd5b5060016104b9565b34801561061d575f80fd5b506002546102c49073ffffffffffffffffffffffffffffffffffffffff1681565b348015610649575f80fd5b506102fc6106583660046125b4565b610bab565b348015610668575f80fd5b506104046106773660046125f3565b60016020525f908152604090205481565b348015610693575f80fd5b506104776106a236600461260c565b610bc5565b6102fc6106b53660046125b4565b610d7f565b3480156106c5575f80fd5b506104046106d4366004612669565b610f43565b6106ec6106e7366004612680565b610f4d565b60405161028f929190612707565b348015610705575f80fd5b506102fc6107143660046124f5565b610fad565b6102fc6107273660046122f1565b611054565b348015610737575f80fd5b506102fc6107463660046124f5565b61109c565b348015610756575f80fd5b50610443610765366004612478565b611117565b348015610775575f80fd5b506102fc6107843660046124f5565b611124565b348015610794575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000006102c4565b3480156107c6575f80fd5b506104b96107d5366004612759565b611187565b604080518082019091525f8082526020820152606061080a60405180604001604052805f81526020015f81525090565b6040805180820182525f80825267ffffffffffffffff602080840182905284518381529081019094529195509182610864565b604080518082019091525f81526060602082015281526020019060019003908161083d5790505b5093505f80610888604089013560608a013561088360208c018c6125f3565b6111bb565b60408051808201909152918252602082015296989597505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461091c576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061093690610931908a6125f3565b61120f565b1461098d5761094860208801886125f3565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610913565b61099c87878787878787611263565b50505050505050565b6109ad6113f4565b6109b78282611446565b5050565b604080518082019091525f80825260208201525f6109e96040850135606086013561088360208801886125f3565b9150505f806109f8868461149a565b9092509050610a15610a0d60208801886125f3565b8383886115eb565b93505050505b92915050565b5f610a2d8484846116d6565b90505b9392505050565b5f80610a4533868686611720565b915091505b935093915050565b600360209081525f928352604080842090915290825290208054610a75906127a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa1906127a0565b8015610aec5780601f10610ac357610100808354040283529160200191610aec565b820191905f5260205f20905b815481529060010190602001808311610acf57829003601f168201915b505050505081565b610afc6113f4565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610b7e6113f4565b610b875f61177d565b565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610bb36113f4565b6109b7610bc082846128cb565b6117f1565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610bf8906127a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c24906127a0565b8015610c6f5780601f10610c4657610100808354040283529160200191610c6f565b820191905f5260205f20905b815481529060010190602001808311610c5257829003601f168201915b5050505050905080515f03610cbd5783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610ba39350505050565b5f839003610ccc579050610ba3565b60028310610d4957610d1284848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506118f292505050565b80610d2084600281886129d4565b604051602001610d32939291906129fb565b604051602081830303815290604052915050610ba3565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610913929190612a68565b5f5b81811015610e825736838383818110610d9c57610d9c612a7b565b9050602002810190610dae9190612aa8565b9050610de0610dc060208301836125f3565b602083013563ffffffff919091165f908152600160205260409020541490565b610dea5750610e7a565b3063d045a0dc60c08301358360a0810135610e09610100830183612ae4565b610e1a610100890160e08a016124f5565b610e286101208a018a612ae4565b6040518963ffffffff1660e01b8152600401610e4a9796959493929190612b5a565b5f604051808303818588803b158015610e61575f80fd5b505af1158015610e73573d5f803e3d5ffd5b5050505050505b600101610d81565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ecb573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f109190810190612bed565b6040517f8351eea700000000000000000000000000000000000000000000000000000000815260040161091391906124e3565b5f610a1b82611937565b610f556120cf565b604080518082019091525f80825260208201523415610fa2576040517f8036d4a3000000000000000000000000000000000000000000000000000000008152346004820152602401610913565b610a4585858561196d565b610fb56113f4565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b15801561103b575f80fd5b505af115801561104d573d5f803e3d5ffd5b5050505050565b33301461108d576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61099c8787878787878761098d565b6110a46113f4565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610b6b565b5f80610a458585856111bb565b61112c6113f4565b73ffffffffffffffffffffffffffffffffffffffff811661117b576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610913565b6111848161177d565b50565b5f60208201803590600190839061119e90866125f3565b63ffffffff16815260208101919091526040015f20541492915050565b5f806111c685611937565b915081905083811015610a4a576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610913565b63ffffffff81165f9081526001602052604081205480610a1b576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610913565b5f6112746112718787611a65565b90565b90505f61129f8261128d6112888a8a611a7c565b611a9e565b61129a60208d018d6125f3565b6116d6565b90506028861115611385575f6112db6112be60608c0160408d01612c56565b6112cb60208d018d6125f3565b846112d68c8c611ad3565b611b1d565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906113569086908d905f908790600401612c71565b5f604051808303815f87803b15801561136d575f80fd5b505af115801561137f573d5f803e3d5ffd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff8216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c6113cb60208d018d6125f3565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610b87576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610913565b63ffffffff82165f81815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6060805f6114f585602001356114af86611b4f565b6114bc60a0890189612ae4565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611b7a92505050565b90935090505f8161150757600161150a565b60025b905061152a61151c60208801886125f3565b826106a260808a018a612ae4565b60045490935073ffffffffffffffffffffffffffffffffffffffff1680156115e1576040517f043a78eb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063043a78eb906115a09088908890600401612caf565b602060405180830381865afa1580156115bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115df9190612cd3565b505b5050509250929050565b604080518082019091525f80825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff16815260200161165a8961120f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161168f929190612cee565b6040805180830381865afa1580156116a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cd9190612dbf565b95945050505050565b5f61171873ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168585611c0c565b509092915050565b5f8061172d8585856111bb565b909250905061177473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016873085611c92565b94509492505050565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b81518110156118c25761182282828151811061181157611811612a7b565b6020026020010151604001516118f2565b81818151811061183457611834612a7b565b60200260200101516040015160035f84848151811061185557611855612a7b565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f84848151811061188c5761188c612a7b565b60200260200101516020015161ffff1661ffff1681526020019081526020015f2090816118b99190612e1d565b506001016117f3565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610b6b9190612f39565b600281015161ffff81166003146109b757816040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161091391906124e3565b5f7f00000000000000000000000000000000000000000000000000000000000000006119638184612fe0565b610a1b9190613018565b6119756120cf565b604080518082019091525f80825260208201525f806119aa33604089013560608a01356119a560208c018c6125f3565b611720565b915091505f806119ba898461149a565b90925090506119e66119cf60208b018b6125f3565b83836119e0368d90038d018d613054565b8b611cde565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611a34908d018d6125f3565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b5f611a7360208284866129d4565b610a3091613084565b5f611a8b6028602084866129d4565b611a94916130c0565b60c01c9392505050565b5f610a1b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8416613018565b6060611ae282602881866129d4565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b606084848484604051602001611b369493929190613108565b6040516020818303038152906040529050949350505050565b5f610a1b7f000000000000000000000000000000000000000000000000000000000000000083612fe0565b8051606090151580611bdb578484604051602001611bc792919091825260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016602082015260280190565b604051602081830303815290604052611c02565b84843385604051602001611bf29493929190613185565b6040516020818303038152906040525b9150935093915050565b60405173ffffffffffffffffffffffffffffffffffffffff838116602483015260448201839052611c8d91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611dea565b505050565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052611cd89186918216906323b872dd90608401611c46565b50505050565b611ce66120cf565b8251611cf190611e89565b50602083015115611d0957611d098360200151611fb0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a4506040518060a001604052808963ffffffff168152602001611d658a61120f565b81526020018881526020018781526020015f8760200151111515815250846040518363ffffffff1660e01b8152600401611da0929190612cee565b6080604051808303815f875af1158015611dbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de091906131dd565b9695505050505050565b5f8060205f8451602086015f885af180611e09576040513d5f823e3d81fd5b50505f513d91508115611e20578060011415611e3a565b73ffffffffffffffffffffffffffffffffffffffff84163b155b15611cd8576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610913565b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f189190613225565b905073ffffffffffffffffffffffffffffffffffffffff8116611f67576040517f8dce522700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fa973ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000086611c92565b5090919050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561201a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203e9190613225565b905073ffffffffffffffffffffffffffffffffffffffff811661208d576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109b773ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611c92565b60405180606001604052805f80191681526020015f67ffffffffffffffff16815260200161210e60405180604001604052805f81526020015f81525090565b905290565b5f60e08284031215612123575f80fd5b50919050565b5f60208284031215612139575f80fd5b813567ffffffffffffffff81111561214f575f80fd5b610ba384828501612113565b5f5b8381101561217557818101518382015260200161215d565b50505f910152565b5f815180845261219481602086016020860161215b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83518152602080850151908201525f60a08201604060a0604085015281865180845260c08601915060c08160051b870101935060208089015f5b8381101561225d578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4001855281518051885283015183880187905261224a8789018261217d565b9750509382019390820190600101612200565b50508751606088015250505060208501516080850152509050610ba3565b5f60608284031215612123575f80fd5b5f8083601f84011261229b575f80fd5b50813567ffffffffffffffff8111156122b2575f80fd5b6020830191508360208285010111156122c9575f80fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114611184575f80fd5b5f805f805f805f60e0888a031215612307575f80fd5b612311898961227b565b965060608801359550608088013567ffffffffffffffff80821115612334575f80fd5b6123408b838c0161228b565b909750955060a08a01359150612355826122d0565b90935060c0890135908082111561236a575f80fd5b506123778a828b0161228b565b989b979a50959850939692959293505050565b803563ffffffff8116811461239d575f80fd5b919050565b5f80604083850312156123b3575f80fd5b6123bc8361238a565b946020939093013593505050565b8015158114611184575f80fd5b5f80604083850312156123e8575f80fd5b823567ffffffffffffffff8111156123fe575f80fd5b61240a85828601612113565b925050602083013561241b816123ca565b809150509250929050565b815181526020808301519082015260408101610a1b565b5f805f6060848603121561244f575f80fd5b833561245a816122d0565b92506020840135915061246f6040850161238a565b90509250925092565b5f805f6060848603121561248a575f80fd5b833592506020840135915061246f6040850161238a565b803561ffff8116811461239d575f80fd5b5f80604083850312156124c3575f80fd5b6124cc8361238a565b91506124da602084016124a1565b90509250929050565b602081525f610a30602083018461217d565b5f60208284031215612505575f80fd5b8135610a30816122d0565b5f805f8060a08587031215612523575f80fd5b61252d868661227b565b9350606085013567ffffffffffffffff811115612548575f80fd5b6125548782880161228b565b9094509250506080850135612568816122d0565b939692955090935050565b5f8083601f840112612583575f80fd5b50813567ffffffffffffffff81111561259a575f80fd5b6020830191508360208260051b85010111156122c9575f80fd5b5f80602083850312156125c5575f80fd5b823567ffffffffffffffff8111156125db575f80fd5b6125e785828601612573565b90969095509350505050565b5f60208284031215612603575f80fd5b610a308261238a565b5f805f806060858703121561261f575f80fd5b6126288561238a565b9350612636602086016124a1565b9250604085013567ffffffffffffffff811115612651575f80fd5b61265d8782880161228b565b95989497509550505050565b5f60208284031215612679575f80fd5b5035919050565b5f805f8385036080811215612693575f80fd5b843567ffffffffffffffff8111156126a9575f80fd5b6126b587828801612113565b94505060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156126e7575f80fd5b5060208401915060608401356126fc816122d0565b809150509250925092565b5f60c0820190508351825267ffffffffffffffff60208501511660208301526040840151612742604084018280518252602090810151910152565b5082516080830152602083015160a0830152610a30565b5f60608284031215612769575f80fd5b610a30838361227b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b600181811c908216806127b457607f821691505b602082108103612123577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b6040516060810167ffffffffffffffff8111828210171561280e5761280e612773565b60405290565b6040805190810167ffffffffffffffff8111828210171561280e5761280e612773565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561287e5761287e612773565b604052919050565b5f67ffffffffffffffff82111561289f5761289f612773565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f67ffffffffffffffff808411156128e5576128e5612773565b8360051b60206128f6818301612837565b86815291850191818101903684111561290d575f80fd5b865b848110156129c857803586811115612925575f80fd5b88016060368290031215612937575f80fd5b61293f6127eb565b6129488261238a565b81526129558683016124a1565b868201526040808301358981111561296b575f80fd5b929092019136601f84011261297e575f80fd5b823561299161298c82612886565b612837565b81815236898387010111156129a4575f80fd5b818986018a8301375f9181018901919091529082015284525091830191830161290f565b50979650505050505050565b5f80858511156129e2575f80fd5b838611156129ee575f80fd5b5050820193919092039150565b5f8451612a0c81846020890161215b565b8201838582375f930192835250909392505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081525f610a2d602083018486612a21565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612ada575f80fd5b9190910192915050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b17575f80fd5b83018035915067ffffffffffffffff821115612b31575f80fd5b6020019150368190038213156122c9575f80fd5b67ffffffffffffffff81168114611184575f80fd5b63ffffffff612b688961238a565b168152602088013560208201525f6040890135612b8481612b45565b67ffffffffffffffff811660408401525087606083015260e06080830152612bb060e083018789612a21565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612bdf818587612a21565b9a9950505050505050505050565b5f60208284031215612bfd575f80fd5b815167ffffffffffffffff811115612c13575f80fd5b8201601f81018413612c23575f80fd5b8051612c3161298c82612886565b818152856020838501011115612c45575f80fd5b6116cd82602083016020860161215b565b5f60208284031215612c66575f80fd5b8135610a3081612b45565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015261ffff83166040820152608060608201525f611de0608083018461217d565b604081525f612cc1604083018561217d565b82810360208401526116cd818561217d565b5f60208284031215612ce3575f80fd5b8151610a30816123ca565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a06080840152612d2360e084018261217d565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152612d5e828261217d565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b5f60408284031215612da1575f80fd5b612da9612814565b9050815181526020820151602082015292915050565b5f60408284031215612dcf575f80fd5b610a308383612d91565b601f821115611c8d57805f5260205f20601f840160051c81016020851015612dfe5750805b601f840160051c820191505b8181101561104d575f8155600101612e0a565b815167ffffffffffffffff811115612e3757612e37612773565b612e4b81612e4584546127a0565b84612dd9565b602080601f831160018114612e9d575f8415612e675750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612f31565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612ee957888601518255948401946001909101908401612eca565b5085821015612f2557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015612fd2578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052612fbe8186018361217d565b968901969450505090860190600101612f60565b509098975050505050505050565b5f82613013577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8082028115828204841417610a1b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60408284031215613064575f80fd5b61306c612814565b82358152602083013560208201528091505092915050565b80356020831015610a1b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156131005780818660080360031b1b83161692505b505092915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201525f825161317581602c85016020870161215b565b91909101602c0195945050505050565b8481527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1660208201528260288201525f82516131cd81604885016020870161215b565b9190910160480195945050505050565b5f608082840312156131ed575f80fd5b6131f56127eb565b82518152602083015161320781612b45565b60208201526132198460408501612d91565b60408201529392505050565b5f60208284031215613235575f80fd5b8151610a30816122d056fea26469706673582212203e76be3d64539582413ab9311712e728deff90d117861ca6faba4f4a69afd89b64736f6c63430008160033","sourceMap":"203:1149:139:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5226:1258:2;;;;;;;;;;-1:-1:-1;5226:1258:2;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;2364:27;;;;;;;;;;-1:-1:-1;2364:27:2;;;;;;;;;;;2868:42:141;2856:55;;;2838:74;;2826:2;2811:18;2364:27:2;2692:226:141;4368:708:56;;;;;;:::i;:::-;;:::i;:::-;;2238:40:2;;;;;;;;;;;;2277:1;2238:40;;;;;4820:6:141;4808:19;;;4790:38;;4778:2;4763:18;2238:40:2;4646:188:141;3575:140:2;;;;;;;;;;-1:-1:-1;3575:140:2;;;3682:22;5009:98:141;;3706:1:2;5138:2:141;5123:18;;5116:59;4982:18;3575:140:2;4839:342:141;1587:235:53;;;;;;;;;;-1:-1:-1;1587:235:53;;;843:1:57;5393:34:141;;678:1:56;5458:2:141;5443:18;;5436:43;5329:18;1587:235:53;5186:299:141;2201:31:2;;;;;;;;;;;;2231:1;2201:31;;1724:108:55;;;;;;;;;;-1:-1:-1;1724:108:55;;;;;:::i;:::-;;:::i;6935:774:2:-;;;;;;;;;;-1:-1:-1;6935:774:2;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1042:178:139:-;;;;;;;;;;-1:-1:-1;1042:178:139;;;;;:::i;:::-;;:::i;:::-;;;7333:25:141;;;7321:2;7306:18;1042:178:139;7187:177:141;875:93:65;;;;;;;;;;-1:-1:-1;956:4:65;875:93;;483:273:139;;;;;;;;;;-1:-1:-1;483:273:139;;;;;:::i;:::-;;:::i;:::-;;;;7868:25:141;;;7924:2;7909:18;;7902:34;;;;7841:18;483:273:139;7694:248:141;538:93:63;;;;;;;;;;-1:-1:-1;538:93:63;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;16260:132:2:-;;;;;;;;;;-1:-1:-1;16260:132:2;;;;;:::i;:::-;16365:11;;;;;16342:4;16365:11;;;:5;:11;;;;;;:20;;16260:132;;;;8760:14:141;;8753:22;8735:41;;8723:2;8708:18;16260:132:2;8595:187:141;446:46:55;;;;;;;;;;;;;;;4757:163:2;;;;;;;;;;-1:-1:-1;4757:163:2;;;;;:::i;:::-;;:::i;2293:101:116:-;;;;;;;;;;;;;:::i;3507:128:56:-;;;;;;;;;;-1:-1:-1;3507:128:56;;;;;:::i;:::-;3596:12;3507:128;;;;;;;;9473:18:141;9461:31;;;9443:50;;9431:2;9416:18;3507:128:56;9299:200:141;2013:216:56;;;;;;;;;;-1:-1:-1;2013:216:56;;;;;:::i;:::-;;:::i;4322:87:2:-;;;;;;;;;;-1:-1:-1;4322:87:2;;4401:1;10321:36:141;;10309:2;10294:18;4322:87:2;10179:184:141;1638:85:116;;;;;;;;;;-1:-1:-1;1684:7:116;1710:6;;;1638:85;;1895:46:2;;;;;;;;;;;;;;;2367:93:0;;;;;;;;;;-1:-1:-1;2449:4:0;2367:93;;559:23:65;;;;;;;;;;-1:-1:-1;559:23:65;;;;;;;;1391:156:63;;;;;;;;;;-1:-1:-1;1391:156:63;;;;;:::i;:::-;;:::i;569:48:55:-;;;;;;;;;;-1:-1:-1;569:48:55;;;;;:::i;:::-;;;;;;;;;;;;;;3510:981:63;;;;;;;;;;-1:-1:-1;3510:981:63;;;;;:::i;:::-;;:::i;1698:1333:65:-;;;;;;:::i;:::-;;:::i;1226:124:139:-;;;;;;;;;;-1:-1:-1;1226:124:139;;;;;:::i;:::-;;:::i;8397:367:2:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;3252:105:55:-;;;;;;;;;;-1:-1:-1;3252:105:55;;;;;:::i;:::-;;:::i;3679:409:65:-;;;;;;:::i;:::-;;:::i;1100:139::-;;;;;;;;;;-1:-1:-1;1100:139:65;;;;;:::i;:::-;;:::i;762:274:139:-;;;;;;;;;;-1:-1:-1;762:274:139;;;;;:::i;:::-;;:::i;2543:215:116:-;;;;;;;;;;-1:-1:-1;2543:215:116;;;;;:::i;:::-;;:::i;1876:90:0:-;;;;;;;;;;-1:-1:-1;1948:10:0;1876:90;;2771:149:56;;;;;;;;;;-1:-1:-1;2771:149:56;;;;;:::i;:::-;;:::i;5226:1258:2:-;-1:-1:-1;;;;;;;;;;;;;;;;;5378:35:2;5415:28;-1:-1:-1;;;;;;;;;;;;;;;;;;;5415:28:2;5633:34;;;;;;;;-1:-1:-1;5633:34:2;;;5555:16;5633:34;;;;;;;5784:21;;;;;;;;;;;5633:34;;-1:-1:-1;;;5784:21:2;;;-1:-1:-1;;;;;;;;;;;;;;;;;5784:21:2;;;;;;;;;;;;;;;-1:-1:-1;5768:37:2;-1:-1:-1;6242:20:2;;6292:120;6316:19;;;;6349:22;;;;6385:17;;;;6316:10;6385:17;:::i;:::-;6292:10;:120::i;:::-;6435:42;;;;;;;;;;;;;;;;5226:1258;;;;-1:-1:-1;;;;;;5226:1258:2:o;4368:708:56:-;4681:8;4673:31;;4694:10;4673:31;4669:68;;4713:24;;;;;4726:10;4713:24;;;2838:74:141;2811:18;;4713:24:56;;;;;;;;4669:68;4873:14;;;;;;4837:32;;4854:14;;4873:7;4854:14;:::i;:::-;4837:16;:32::i;:::-;:50;4833:103;;4905:14;;;;:7;:14;:::i;:::-;4896:40;;;;;14870:10:141;14858:23;;;4896:40:56;;;14840:42:141;4921:14:56;;;;14898:18:141;;;14891:34;14813:18;;4896:40:56;14668:263:141;4833:103:56;5010:59;5021:7;5030:5;5037:8;;5047:9;5058:10;;5010;:59::i;:::-;4368:708;;;;;;;:::o;1724:108:55:-;1531:13:116;:11;:13::i;:::-;1804:21:55::1;1813:4;1819:5;1804:8;:21::i;:::-;1724:108:::0;;:::o;6935:774:2:-;-1:-1:-1;;;;;;;;;;;;;;;;;7269:24:2;7297:74;7308:19;;;;7329:22;;;;7353:17;;;;7308:10;7353:17;:::i;7297:74::-;7266:105;;;7460:20;7482;7506:49;7526:10;7538:16;7506:19;:49::i;:::-;7459:96;;-1:-1:-1;7459:96:2;-1:-1:-1;7644:58:2;7651:17;;;;:10;:17;:::i;:::-;7670:7;7679;7688:13;7644:6;:58::i;:::-;7637:65;;;;;6935:774;;;;;:::o;1042:178:139:-;1130:24;1173:40;1181:3;1186:17;1205:7;1173;:40::i;:::-;1166:47;;1042:178;;;;;;:::o;483:273::-;615:23;640:24;683:66;690:10;702:15;719:20;741:7;683:6;:66::i;:::-;676:73;;;;483:273;;;;;;;:::o;538:93:63:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4757:163:2:-;1531:13:116;:11;:13::i;:::-;4840:12:2::1;:28:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;4883:30:::1;::::0;2838:74:141;;;4883:30:2::1;::::0;2826:2:141;2811:18;4883:30:2::1;;;;;;;;4757:163:::0;:::o;2293:101:116:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2013:216:56:-;2198:24;;;2217:4;2198:24;2013:216;;;;;;;:::o;1391:156:63:-;1531:13:116;:11;:13::i;:::-;1503:37:63::1;;1523:16:::0;;1503:37:::1;:::i;:::-;:19;:37::i;3510:981::-:0;3701:21;;;3677;3701;;;:15;:21;;;;;;;;:31;;;;;;;;;;3677:55;;3653:12;;3677:21;3701:31;3677:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:8;:15;3880:1;3861:20;3857:46;;3890:13;;3883:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3883:20:63;;-1:-1:-1;3883:20:63;;-1:-1:-1;;;;3883:20:63;3857:46;3988:1;3964:25;;;3960:46;;3998:8;-1:-1:-1;3991:15:63;;3960:46;4153:1;4129:25;;4125:267;;4170:34;4190:13;;4170:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4170:19:63;;-1:-1:-1;;;4170:34:63:i;:::-;4353:8;4363:17;:13;4377:1;4363:13;;:17;:::i;:::-;4340:41;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4333:48;;;;;4125:267;4470:13;;4455:29;;;;;;;;;;;;:::i;1698:1333:65:-;1799:9;1794:1037;1814:19;;;1794:1037;;;1854:29;1886:8;;1895:1;1886:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1854:43;-1:-1:-1;1980:50:65;1987:20;;;;1854:43;1987:20;:::i;:::-;2009;;;;16365:11:2;;;;;16342:4;16365:11;;;:5;:11;;;;;;:20;;16260:132;1980:50:65;1975:65;;2032:8;;;1975:65;2602:4;:22;2633:12;;;;:6;2696:11;;;;2725:14;;;;2633:6;2725:14;:::i;:::-;2757:15;;;;;;;;:::i;:::-;2790:16;;;;:6;:16;:::i;:::-;2602:218;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1840:991;1794:1037;1835:3;;1794:1037;;;;2988:10;2978:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2961:63;;;;;;;;;;;:::i;1226:124:139:-;1286:16;1321:22;1333:9;1321:11;:22::i;8397:367:2:-;8558:34;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;8638:9:2;:13;8634:67;;8660:41;;;;;8691:9;8660:41;;;7333:25:141;7306:18;;8660:41:2;7187:177:141;8634:67:2;8718:39;8724:10;8736:4;8742:14;8718:5;:39::i;3252:105:55:-;1531:13:116;:11;:13::i;:::-;3319:31:55::1;::::0;;;;:20:::1;2856:55:141::0;;;3319:31:55::1;::::0;::::1;2838:74:141::0;3319:8:55::1;:20;::::0;::::1;::::0;2811:18:141;;3319:31:55::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3252:105:::0;:::o;3679:409:65:-;3958:10;3980:4;3958:27;3954:50;;3994:10;;;;;;;;;;;;;;3954:50;4014:67;4033:7;4042:5;4049:8;;4059:9;4070:10;;4014:18;:67::i;1100:139::-;1531:13:116;:11;:13::i;:::-;1175:8:65::1;:20:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;1210:22:::1;::::0;2838:74:141;;;1210:22:65::1;::::0;2826:2:141;2811:18;1210:22:65::1;2692:226:141::0;762:274:139;903:23;928:24;971:58;982:15;999:20;1021:7;971:10;:58::i;2543:215:116:-;1531:13;:11;:13::i;:::-;2627:22:::1;::::0;::::1;2623:91;;2672:31;::::0;::::1;::::0;;2700:1:::1;2672:31;::::0;::::1;2838:74:141::0;2811:18;;2672:31:116::1;2692:226:141::0;2623:91:116::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;2771:149:56:-;2853:4;2900:13;;;;;;2876:5;;2853:4;;2882:13;;2900:6;2882:13;:::i;:::-;2876:20;;;;;;;;;;;;;-1:-1:-1;2876:20:56;;:37;;2771:149;-1:-1:-1;;2771:149:56:o;18277:668:2:-;18419:20;18441:24;18615:22;18627:9;18615:11;:22::i;:::-;18600:37;;18763:12;18744:31;;18845:12;18826:16;:31;18822:117;;;18880:48;;;;;;;;7868:25:141;;;7909:18;;;7902:34;;;7841:18;;18880:48:2;7694:248:141;2718:196:55;2822:11;;;2788:7;2822:11;;;:5;:11;;;;;;;2843:43;;2874:12;;;;;22794:10:141;22782:23;;2874:12:55;;;22764:42:141;22737:18;;2874:12:55;22620:192:141;13053:1806:2;13530:17;13550:36;:17;:8;;:15;:17::i;:::-;2891:2:71;2780:123;13550:36:2;13530:56;;13719:24;13746:62;13754:9;13765:26;13771:19;:8;;:17;:19::i;:::-;13765:5;:26::i;:::-;13793:14;;;;:7;:14;:::i;:::-;13746:7;:62::i;:::-;13719:89;-1:-1:-1;243:2:71;-1:-1:-1;;13819:955:2;;;13923:23;13949:175;13992:13;;;;;;;;:::i;:::-;14023:14;;;;:7;:14;:::i;:::-;14055:16;14089:21;:8;;:19;:21::i;:::-;13949:25;:175::i;:::-;14671:92;;;;;13923:201;;-1:-1:-1;14671:20:2;:8;:20;;;;:92;;14692:9;;14703:5;;14710:1;;13923:201;;14671:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13846:928;13819:955;14789:63;;;14801:5;14789:63;14808:14;;;;:7;:14;:::i;:::-;14789:63;;;14870:10:141;14858:23;;;14840:42;;14913:2;14898:18;;14891:34;;;14813:18;14789:63:2;;;;;;;13356:1503;;13053:1806;;;;;;;:::o;1796:162:116:-;1684:7;1710:6;1855:23;1710:6;735:10:126;1855:23:116;1851:101;;1901:40;;;;;735:10:126;1901:40:116;;;2838:74:141;2811:18;;1901:40:116;2692:226:141;2286:134:55;2359:11;;;;;;;:5;:11;;;;;;;;;:19;;;2393:20;;14840:42:141;;;14898:18;;14891:34;;;2393:20:55;;14813:18:141;2393:20:55;;;;;;;2286:134;;:::o;11099:1436:2:-;11231:20;11253;11285:15;11456:324;11488:10;:13;;;11515:16;11521:9;11515:5;:16::i;:::-;11749:21;;;;:10;:21;:::i;:::-;11456:324;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11456:18:2;;-1:-1:-1;;;11456:324:2:i;:::-;11432:348;;-1:-1:-1;11432:348:2;-1:-1:-1;11860:14:2;11432:348;11877:33;;2231:1;11877:33;;;2277:1;11877:33;11860:50;-1:-1:-1;12032:67:2;12047:17;;;;:10;:17;:::i;:::-;12066:7;12075:23;;;;:10;:23;:::i;12032:67::-;12357:12;;12022:77;;-1:-1:-1;12357:12:2;;12449:23;;12445:83;;12474:54;;;;;:36;;;;;;:54;;12511:7;;12520;;12474:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12445:83;11275:1260;;;11099:1436;;;;;:::o;2038:391:57:-;-1:-1:-1;;;;;;;;;;;;;;;;;2259:8:57;:14;;;2291:86;;;;;;;;2307:7;2291:86;;;;;;2316:25;2333:7;2316:16;:25::i;:::-;2291:86;;;;2343:8;2291:86;;;;2353:8;2291:86;;;;2363:13;2291:86;;;;;2403:4;2259:163;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2240:182;2038:391;-1:-1:-1;;;;;2038:391:57:o;4459:409:0:-;4593:24;4694:39;:23;:10;:23;4718:3;4723:9;4694:23;:39::i;:::-;-1:-1:-1;4852:9:0;;4459:409;-1:-1:-1;;4459:409:0:o;3361:457::-;3522:20;3544:24;3615:44;3626:9;3637:12;3651:7;3615:10;:44::i;:::-;3580:79;;-1:-1:-1;3580:79:0;-1:-1:-1;3748:63:0;:27;:10;:27;3776:5;3791:4;3580:79;3748:27;:63::i;:::-;3361:457;;;;;;;:::o;2912:187:116:-;2985:16;3004:6;;;3020:17;;;;;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;2237:514:63:-;2345:9;2340:354;2364:16;:23;2360:1;:27;2340:354;;;2522:48;2542:16;2559:1;2542:19;;;;;;;;:::i;:::-;;;;;;;:27;;;2522:19;:48::i;:::-;2656:16;2673:1;2656:19;;;;;;;;:::i;:::-;;;;;;;:27;;;2584:15;:40;2600:16;2617:1;2600:19;;;;;;;;:::i;:::-;;;;;;;:23;;;2584:40;;;;;;;;;;;;;;;:69;2625:16;2642:1;2625:19;;;;;;;;:::i;:::-;;;;;;;:27;;;2584:69;;;;;;;;;;;;;;;:99;;;;;;:::i;:::-;-1:-1:-1;2389:3:63;;2340:354;;;;2709:35;2727:16;2709:35;;;;;;:::i;4631:264::-;4801:1;4787:16;;4781:23;4827:28;;;463:1;4827:28;4823:65;;4879:8;4864:24;;;;;;;;;;;:::i;16786:172:2:-;16857:16;16930:21;16893:33;16930:21;16893:9;:33;:::i;:::-;16892:59;;;;:::i;9472:1333::-;9626:34;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;10024:20:2;;10074:140;10094:10;10118:19;;;;10151:22;;;;10187:17;;;;10118:10;10187:17;:::i;:::-;10074:6;:140::i;:::-;10023:191;;;;10303:20;10325;10349:49;10369:10;10381:16;10349:19;:49::i;:::-;10302:96;;-1:-1:-1;10302:96:2;-1:-1:-1;10521:66:2;10529:17;;;;:10;:17;:::i;:::-;10548:7;10557;10521:66;;;;;;;10566:4;10521:66;:::i;:::-;10572:14;10521:7;:66::i;:::-;10653:42;;;;;;;;;;;;;;;;;;;10719:15;;10508:79;;-1:-1:-1;10653:42:2;;-1:-1:-1;10755:10:2;;10719:15;10711:87;;10736:17;;;;:10;:17;:::i;:::-;10711:87;;;30769:10:141;30757:23;;;30739:42;;30812:2;30797:18;;30790:34;;;30840:18;;30833:34;;;30727:2;30712:18;10711:87:2;;;;;;;9692:1113;;;;9472:1333;;;;;;:::o;1573:123:71:-;1633:7;1667:21;188:2;1633:7;1667:4;;:21;:::i;:::-;1659:30;;;:::i;1874:152::-;1936:6;1975:42;243:2;188;1975:4;;:42;:::i;:::-;1968:50;;;:::i;:::-;1961:58;;;1874:152;-1:-1:-1;;;1874:152:71:o;17182:139:2:-;17246:16;17281:33;17293:21;17281:33;;;;:::i;2186:130:71:-;2250:12;2281:28;:4;243:2;2281:4;;:28;:::i;:::-;2274:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2274:35:71;;2186:130;-1:-1:-1;;;;;;2186:130:71:o;640:284:70:-;824:17;877:6;885:7;894:9;905:11;860:57;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;853:64;;640:284;;;;;;:::o;17545:147:2:-;17610:15;17651:33;17663:21;17651:9;:33;:::i;598:506:71:-;791:18;;732:17;;791:22;;;934:163;;1074:7;1083:13;1057:40;;;;;;;;32384:19:141;;;32441:3;32437:16;32455:66;32433:89;32428:2;32419:12;;32412:111;32548:2;32539:12;;32229:328;1057:40:71;;;;;;;;;;;;;934:163;;;976:7;985:13;1017:10;1030:11;959:83;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;934:163;927:170;;598:506;;;;;;:::o;1271:160:124:-;1380:43;;1395:14;33329:55:141;;;1380:43:124;;;33311:74:141;33401:18;;;33394:34;;;1353:71:124;;1373:5;;1395:14;;;;;33284:18:141;;1380:43:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1353:19;:71::i;:::-;1271:160;;;:::o;1670:188::-;1797:53;;1812:18;33720:15:141;;;1797:53:124;;;33702:34:141;33772:15;;;33752:18;;;33745:43;33804:18;;;33797:34;;;1770:81:124;;1790:5;;1812:18;;;;;33614::141;;1797:53:124;33439:398:141;1770:81:124;1670:188;;;;:::o;1542:721:54:-;1744:31;;:::i;:::-;1920:14;;1909:26;;:10;:26::i;:::-;-1:-1:-1;1949:15:54;;;;:19;1945:53;;1970:28;1982:4;:15;;;1970:11;:28::i;:::-;2087:8;:13;;;2118:92;;;;;;;;2134:7;2118:92;;;;;;2143:25;2160:7;2143:16;:25::i;:::-;2118:92;;;;2170:8;2118:92;;;;2180:8;2118:92;;;;2208:1;2190:4;:15;;;:19;2118:92;;;;;2228:14;2087:169;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2009:247;1542:721;-1:-1:-1;;;;;;1542:721:54:o;7738:720:124:-;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:124;8278:8;8234:16;;-1:-1:-1;8310:15:124;;:68;;8362:11;8377:1;8362:16;;8310:68;;;8328:26;;;;:31;8310:68;8306:146;;;8401:40;;;;;2868:42:141;2856:55;;8401:40:124;;;2838:74:141;2811:18;;8401:40:124;2692:226:141;2898:488:54;2965:17;3078:19;3100:8;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3078:44;-1:-1:-1;3136:25:54;;;3132:62;;3170:24;;;;;;;;;;;;;;3132:62;3272:79;:36;;;3309:10;3329:8;3340:10;3272:36;:79::i;:::-;-1:-1:-1;3369:10:54;;2898:488;-1:-1:-1;2898:488:54:o;5218:410:57:-;5371:15;5389:8;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5371:36;-1:-1:-1;5421:21:57;;;5417:54;;5451:20;;;;;;;;;;;;;;5417:54;5545:76;:32;;;5578:10;5598:8;5609:11;5545:32;:76::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:158:141:-;76:5;121:3;112:6;107:3;103:16;99:26;96:46;;;138:1;135;128:12;96:46;-1:-1:-1;160:6:141;14:158;-1:-1:-1;14:158:141:o;177:361::-;266:6;319:2;307:9;298:7;294:23;290:32;287:52;;;335:1;332;325:12;287:52;375:9;362:23;408:18;400:6;397:30;394:50;;;440:1;437;430:12;394:50;463:69;524:7;515:6;504:9;500:22;463:69;:::i;697:250::-;782:1;792:113;806:6;803:1;800:13;792:113;;;882:11;;;876:18;863:11;;;856:39;828:2;821:10;792:113;;;-1:-1:-1;;939:1:141;921:16;;914:27;697:250::o;952:330::-;994:3;1032:5;1026:12;1059:6;1054:3;1047:19;1075:76;1144:6;1137:4;1132:3;1128:14;1121:4;1114:5;1110:16;1075:76;:::i;:::-;1196:2;1184:15;1201:66;1180:88;1171:98;;;;1271:4;1167:109;;952:330;-1:-1:-1;;952:330:141:o;1287:1400::-;617:12;;605:25;;679:4;668:16;;;662:23;646:14;;;639:47;1659:4;1707:3;1692:19;;1784:2;1822:3;1817:2;1806:9;1802:18;1795:31;1846:6;1881;1875:13;1912:6;1904;1897:22;1950:3;1939:9;1935:19;1928:26;;2013:3;2003:6;2000:1;1996:14;1985:9;1981:30;1977:40;1963:54;;2036:4;2075;2067:6;2063:17;2098:1;2108:487;2122:6;2119:1;2116:13;2108:487;;;2187:22;;;2211:66;2183:95;2171:108;;2302:13;;2343:9;;2328:25;;2392:11;;2386:18;2424:15;;;2417:27;;;2467:48;2499:15;;;2386:18;2467:48;:::i;:::-;2457:58;-1:-1:-1;;2573:12:141;;;;2538:15;;;;2144:1;2137:9;2108:487;;;-1:-1:-1;;617:12:141;;2677:2;2662:18;;605:25;-1:-1:-1;;;679:4:141;668:16;;662:23;646:14;;;639:47;-1:-1:-1;2612:6:141;-1:-1:-1;2627:54:141;543:149;2923:154;2982:5;3027:2;3018:6;3013:3;3009:16;3005:25;3002:45;;;3043:1;3040;3033:12;3082:347;3133:8;3143:6;3197:3;3190:4;3182:6;3178:17;3174:27;3164:55;;3215:1;3212;3205:12;3164:55;-1:-1:-1;3238:20:141;;3281:18;3270:30;;3267:50;;;3313:1;3310;3303:12;3267:50;3350:4;3342:6;3338:17;3326:29;;3402:3;3395:4;3386:6;3378;3374:19;3370:30;3367:39;3364:59;;;3419:1;3416;3409:12;3364:59;3082:347;;;;;:::o;3434:154::-;3520:42;3513:5;3509:54;3502:5;3499:65;3489:93;;3578:1;3575;3568:12;3593:1048;3736:6;3744;3752;3760;3768;3776;3784;3837:3;3825:9;3816:7;3812:23;3808:33;3805:53;;;3854:1;3851;3844:12;3805:53;3877;3922:7;3911:9;3877:53;:::i;:::-;3867:63;;3977:2;3966:9;3962:18;3949:32;3939:42;;4032:3;4021:9;4017:19;4004:33;4056:18;4097:2;4089:6;4086:14;4083:34;;;4113:1;4110;4103:12;4083:34;4152:58;4202:7;4193:6;4182:9;4178:22;4152:58;:::i;:::-;4229:8;;-1:-1:-1;4126:84:141;-1:-1:-1;4314:3:141;4299:19;;4286:33;;-1:-1:-1;4328:31:141;4286:33;4328:31;:::i;:::-;4378:5;;-1:-1:-1;4436:3:141;4421:19;;4408:33;;4453:16;;;4450:36;;;4482:1;4479;4472:12;4450:36;;4521:60;4573:7;4562:8;4551:9;4547:24;4521:60;:::i;:::-;3593:1048;;;;-1:-1:-1;3593:1048:141;;-1:-1:-1;3593:1048:141;;;;4495:86;;-1:-1:-1;;;3593:1048:141:o;5490:163::-;5557:20;;5617:10;5606:22;;5596:33;;5586:61;;5643:1;5640;5633:12;5586:61;5490:163;;;:::o;5658:252::-;5725:6;5733;5786:2;5774:9;5765:7;5761:23;5757:32;5754:52;;;5802:1;5799;5792:12;5754:52;5825:28;5843:9;5825:28;:::i;:::-;5815:38;5900:2;5885:18;;;;5872:32;;-1:-1:-1;;;5658:252:141:o;5915:118::-;6001:5;5994:13;5987:21;5980:5;5977:32;5967:60;;6023:1;6020;6013:12;6038:490;6133:6;6141;6194:2;6182:9;6173:7;6169:23;6165:32;6162:52;;;6210:1;6207;6200:12;6162:52;6250:9;6237:23;6283:18;6275:6;6272:30;6269:50;;;6315:1;6312;6305:12;6269:50;6338:69;6399:7;6390:6;6379:9;6375:22;6338:69;:::i;:::-;6328:79;;;6457:2;6446:9;6442:18;6429:32;6470:28;6492:5;6470:28;:::i;:::-;6517:5;6507:15;;;6038:490;;;;;:::o;6533:257::-;617:12;;605:25;;679:4;668:16;;;662:23;646:14;;;639:47;6727:2;6712:18;;6739:45;543:149;6795:387;6871:6;6879;6887;6940:2;6928:9;6919:7;6915:23;6911:32;6908:52;;;6956:1;6953;6946:12;6908:52;6995:9;6982:23;7014:31;7039:5;7014:31;:::i;:::-;7064:5;-1:-1:-1;7116:2:141;7101:18;;7088:32;;-1:-1:-1;7139:37:141;7172:2;7157:18;;7139:37;:::i;:::-;7129:47;;6795:387;;;;;:::o;7369:320::-;7445:6;7453;7461;7514:2;7502:9;7493:7;7489:23;7485:32;7482:52;;;7530:1;7527;7520:12;7482:52;7566:9;7553:23;7543:33;;7623:2;7612:9;7608:18;7595:32;7585:42;;7646:37;7679:2;7668:9;7664:18;7646:37;:::i;7947:159::-;8014:20;;8074:6;8063:18;;8053:29;;8043:57;;8096:1;8093;8086:12;8111:256;8177:6;8185;8238:2;8226:9;8217:7;8213:23;8209:32;8206:52;;;8254:1;8251;8244:12;8206:52;8277:28;8295:9;8277:28;:::i;:::-;8267:38;;8324:37;8357:2;8346:9;8342:18;8324:37;:::i;:::-;8314:47;;8111:256;;;;;:::o;8372:218::-;8519:2;8508:9;8501:21;8482:4;8539:45;8580:2;8569:9;8565:18;8557:6;8539:45;:::i;9047:247::-;9106:6;9159:2;9147:9;9138:7;9134:23;9130:32;9127:52;;;9175:1;9172;9165:12;9127:52;9214:9;9201:23;9233:31;9258:5;9233:31;:::i;9504:670::-;9618:6;9626;9634;9642;9695:3;9683:9;9674:7;9670:23;9666:33;9663:53;;;9712:1;9709;9702:12;9663:53;9735;9780:7;9769:9;9735:53;:::i;:::-;9725:63;;9839:2;9828:9;9824:18;9811:32;9866:18;9858:6;9855:30;9852:50;;;9898:1;9895;9888:12;9852:50;9937:58;9987:7;9978:6;9967:9;9963:22;9937:58;:::i;:::-;10014:8;;-1:-1:-1;9911:84:141;-1:-1:-1;;10099:3:141;10084:19;;10071:33;10113:31;10071:33;10113:31;:::i;:::-;9504:670;;;;-1:-1:-1;9504:670:141;;-1:-1:-1;;9504:670:141:o;10368:395::-;10459:8;10469:6;10523:3;10516:4;10508:6;10504:17;10500:27;10490:55;;10541:1;10538;10531:12;10490:55;-1:-1:-1;10564:20:141;;10607:18;10596:30;;10593:50;;;10639:1;10636;10629:12;10593:50;10676:4;10668:6;10664:17;10652:29;;10736:3;10729:4;10719:6;10716:1;10712:14;10704:6;10700:27;10696:38;10693:47;10690:67;;;10753:1;10750;10743:12;10768:505;10894:6;10902;10955:2;10943:9;10934:7;10930:23;10926:32;10923:52;;;10971:1;10968;10961:12;10923:52;11011:9;10998:23;11044:18;11036:6;11033:30;11030:50;;;11076:1;11073;11066:12;11030:50;11115:98;11205:7;11196:6;11185:9;11181:22;11115:98;:::i;:::-;11232:8;;11089:124;;-1:-1:-1;10768:505:141;-1:-1:-1;;;;10768:505:141:o;11278:184::-;11336:6;11389:2;11377:9;11368:7;11364:23;11360:32;11357:52;;;11405:1;11402;11395:12;11357:52;11428:28;11446:9;11428:28;:::i;11649:553::-;11735:6;11743;11751;11759;11812:2;11800:9;11791:7;11787:23;11783:32;11780:52;;;11828:1;11825;11818:12;11780:52;11851:28;11869:9;11851:28;:::i;:::-;11841:38;;11898:37;11931:2;11920:9;11916:18;11898:37;:::i;:::-;11888:47;;11986:2;11975:9;11971:18;11958:32;12013:18;12005:6;12002:30;11999:50;;;12045:1;12042;12035:12;11999:50;12084:58;12134:7;12125:6;12114:9;12110:22;12084:58;:::i;:::-;11649:553;;;;-1:-1:-1;12161:8:141;-1:-1:-1;;;;11649:553:141:o;12711:180::-;12770:6;12823:2;12811:9;12802:7;12798:23;12794:32;12791:52;;;12839:1;12836;12829:12;12791:52;-1:-1:-1;12862:23:141;;12711:180;-1:-1:-1;12711:180:141:o;12896:717::-;13035:6;13043;13051;13095:9;13086:7;13082:23;13125:3;13121:2;13117:12;13114:32;;;13142:1;13139;13132:12;13114:32;13182:9;13169:23;13215:18;13207:6;13204:30;13201:50;;;13247:1;13244;13237:12;13201:50;13270:69;13331:7;13322:6;13311:9;13307:22;13270:69;:::i;:::-;13260:79;;;13432:2;13363:66;13359:2;13355:75;13351:84;13348:104;;;13448:1;13445;13438:12;13348:104;;13486:2;13475:9;13471:18;13461:28;;13539:2;13528:9;13524:18;13511:32;13552:31;13577:5;13552:31;:::i;:::-;13602:5;13592:15;;;12896:717;;;;;:::o;13618:615::-;13864:4;13906:3;13895:9;13891:19;13883:27;;13943:6;13937:13;13926:9;13919:32;14019:18;14011:4;14003:6;13999:17;13993:24;13989:49;13982:4;13971:9;13967:20;13960:79;14086:4;14078:6;14074:17;14068:24;14101:62;14157:4;14146:9;14142:20;14128:12;617;;605:25;;679:4;668:16;;;662:23;646:14;;639:47;543:149;14101:62;-1:-1:-1;617:12:141;;14222:3;14207:19;;605:25;679:4;668:16;;662:23;646:14;;;639:47;14172:55;543:149;14238:236;14323:6;14376:2;14364:9;14355:7;14351:23;14347:32;14344:52;;;14392:1;14389;14382:12;14344:52;14415:53;14460:7;14449:9;14415:53;:::i;14479:184::-;14531:77;14528:1;14521:88;14628:4;14625:1;14618:15;14652:4;14649:1;14642:15;14936:437;15015:1;15011:12;;;;15058;;;15079:61;;15133:4;15125:6;15121:17;15111:27;;15079:61;15186:2;15178:6;15175:14;15155:18;15152:38;15149:218;;15223:77;15220:1;15213:88;15324:4;15321:1;15314:15;15352:4;15349:1;15342:15;15378:253;15450:2;15444:9;15492:4;15480:17;;15527:18;15512:34;;15548:22;;;15509:62;15506:88;;;15574:18;;:::i;:::-;15610:2;15603:22;15378:253;:::o;15636:257::-;15708:4;15702:11;;;15740:17;;15787:18;15772:34;;15808:22;;;15769:62;15766:88;;;15834:18;;:::i;15898:334::-;15969:2;15963:9;16025:2;16015:13;;16030:66;16011:86;15999:99;;16128:18;16113:34;;16149:22;;;16110:62;16107:88;;;16175:18;;:::i;:::-;16211:2;16204:22;15898:334;;-1:-1:-1;15898:334:141:o;16237:245::-;16285:4;16318:18;16310:6;16307:30;16304:56;;;16340:18;;:::i;:::-;-1:-1:-1;16397:2:141;16385:15;16402:66;16381:88;16471:4;16377:99;;16237:245::o;16487:1757::-;16681:9;16715:18;16756:2;16748:6;16745:14;16742:40;;;16762:18;;:::i;:::-;16808:6;16805:1;16801:14;16834:4;16858:28;16882:2;16878;16874:11;16858:28;:::i;:::-;16920:19;;;16990:14;;;;16955:12;;;;17027:14;17016:26;;17013:46;;;17055:1;17052;17045:12;17013:46;17079:5;17093:1118;17109:6;17104:3;17101:15;17093:1118;;;17195:3;17182:17;17231:2;17218:11;17215:19;17212:39;;;17247:1;17244;17237:12;17212:39;17274:23;;17342:4;17321:14;17317:23;;;17313:34;17310:54;;;17360:1;17357;17350:12;17310:54;17392:22;;:::i;:::-;17443:21;17461:2;17443:21;:::i;:::-;17434:7;17427:38;17503:30;17529:2;17525;17521:11;17503:30;:::i;:::-;17498:2;17489:7;17485:16;17478:56;17557:2;17607;17603;17599:11;17586:25;17638:2;17630:6;17627:14;17624:34;;;17654:1;17651;17644:12;17624:34;17681:15;;;;;17738:14;17731:4;17723:13;;17719:34;17709:62;;17767:1;17764;17757:12;17709:62;17807:2;17794:16;17836:48;17852:31;17880:2;17852:31;:::i;:::-;17836:48;:::i;:::-;17911:2;17904:5;17897:17;17955:14;17950:2;17945;17941;17937:11;17933:20;17930:40;17927:60;;;17983:1;17980;17973:12;17927:60;18042:2;18037;18033;18029:11;18024:2;18017:5;18013:14;18000:45;18090:1;18069:14;;;18065:23;;18058:34;;;;18112:16;;;18105:31;18149:20;;-1:-1:-1;18189:12:141;;;;17126;;17093:1118;;;-1:-1:-1;18233:5:141;16487:1757;-1:-1:-1;;;;;;;16487:1757:141:o;18249:331::-;18354:9;18365;18407:8;18395:10;18392:24;18389:44;;;18429:1;18426;18419:12;18389:44;18458:6;18448:8;18445:20;18442:40;;;18478:1;18475;18468:12;18442:40;-1:-1:-1;;18504:23:141;;;18549:25;;;;;-1:-1:-1;18249:331:141:o;18585:476::-;18776:3;18814:6;18808:13;18830:66;18889:6;18884:3;18877:4;18869:6;18865:17;18830:66;:::i;:::-;18918:16;;18971:6;18963;18918:16;18943:35;19035:1;18997:18;;19024:13;;;-1:-1:-1;18997:18:141;;18585:476;-1:-1:-1;;;18585:476:141:o;19066:325::-;19154:6;19149:3;19142:19;19206:6;19199:5;19192:4;19187:3;19183:14;19170:43;;19258:1;19251:4;19242:6;19237:3;19233:16;19229:27;19222:38;19124:3;19380:4;19310:66;19305:2;19297:6;19293:15;19289:88;19284:3;19280:98;19276:109;19269:116;;19066:325;;;;:::o;19396:244::-;19553:2;19542:9;19535:21;19516:4;19573:61;19630:2;19619:9;19615:18;19607:6;19599;19573:61;:::i;19645:184::-;19697:77;19694:1;19687:88;19794:4;19791:1;19784:15;19818:4;19815:1;19808:15;19834:390;19934:4;19992:11;19979:25;20082:66;20071:8;20055:14;20051:29;20047:102;20027:18;20023:127;20013:155;;20164:1;20161;20154:12;20013:155;20185:33;;;;;19834:390;-1:-1:-1;;19834:390:141:o;20229:580::-;20306:4;20312:6;20372:11;20359:25;20462:66;20451:8;20435:14;20431:29;20427:102;20407:18;20403:127;20393:155;;20544:1;20541;20534:12;20393:155;20571:33;;20623:20;;;-1:-1:-1;20666:18:141;20655:30;;20652:50;;;20698:1;20695;20688:12;20652:50;20731:4;20719:17;;-1:-1:-1;20762:14:141;20758:27;;;20748:38;;20745:58;;;20799:1;20796;20789:12;20814:129;20899:18;20892:5;20888:30;20881:5;20878:41;20868:69;;20933:1;20930;20923:12;20948:1015;21326:10;21299:25;21317:6;21299:25;:::i;:::-;21295:42;21284:9;21277:61;21401:4;21393:6;21389:17;21376:31;21369:4;21358:9;21354:20;21347:61;21258:4;21455;21447:6;21443:17;21430:31;21470:30;21494:5;21470:30;:::i;:::-;21549:18;21542:5;21538:30;21531:4;21520:9;21516:20;21509:60;;21605:6;21600:2;21589:9;21585:18;21578:34;21649:3;21643;21632:9;21628:19;21621:32;21676:62;21733:3;21722:9;21718:19;21710:6;21702;21676:62;:::i;:::-;21787:42;21779:6;21775:55;21769:3;21758:9;21754:19;21747:84;21880:9;21872:6;21868:22;21862:3;21851:9;21847:19;21840:51;21908:49;21950:6;21942;21934;21908:49;:::i;:::-;21900:57;20948:1015;-1:-1:-1;;;;;;;;;;20948:1015:141:o;21968:647::-;22047:6;22100:2;22088:9;22079:7;22075:23;22071:32;22068:52;;;22116:1;22113;22106:12;22068:52;22149:9;22143:16;22182:18;22174:6;22171:30;22168:50;;;22214:1;22211;22204:12;22168:50;22237:22;;22290:4;22282:13;;22278:27;-1:-1:-1;22268:55:141;;22319:1;22316;22309:12;22268:55;22348:2;22342:9;22373:48;22389:31;22417:2;22389:31;:::i;22373:48::-;22444:2;22437:5;22430:17;22484:7;22479:2;22474;22470;22466:11;22462:20;22459:33;22456:53;;;22505:1;22502;22495:12;22456:53;22518:67;22582:2;22577;22570:5;22566:14;22561:2;22557;22553:11;22518:67;:::i;22817:245::-;22875:6;22928:2;22916:9;22907:7;22903:23;22899:32;22896:52;;;22944:1;22941;22934:12;22896:52;22983:9;22970:23;23002:30;23026:5;23002:30;:::i;23067:502::-;23317:42;23309:6;23305:55;23294:9;23287:74;23397:6;23392:2;23381:9;23377:18;23370:34;23452:6;23444;23440:19;23435:2;23424:9;23420:18;23413:47;23496:3;23491:2;23480:9;23476:18;23469:31;23268:4;23517:46;23558:3;23547:9;23543:19;23535:6;23517:46;:::i;23842:379::-;24035:2;24024:9;24017:21;23998:4;24061:45;24102:2;24091:9;24087:18;24079:6;24061:45;:::i;:::-;24154:9;24146:6;24142:22;24137:2;24126:9;24122:18;24115:50;24182:33;24208:6;24200;24182:33;:::i;24226:245::-;24293:6;24346:2;24334:9;24325:7;24321:23;24317:32;24314:52;;;24362:1;24359;24352:12;24314:52;24394:9;24388:16;24413:28;24435:5;24413:28;:::i;24476:973::-;24699:2;24688:9;24681:21;24757:10;24748:6;24742:13;24738:30;24733:2;24722:9;24718:18;24711:58;24823:4;24815:6;24811:17;24805:24;24800:2;24789:9;24785:18;24778:52;24662:4;24877:2;24869:6;24865:15;24859:22;24918:4;24912:3;24901:9;24897:19;24890:33;24946:52;24993:3;24982:9;24978:19;24964:12;24946:52;:::i;:::-;24932:66;;25047:2;25039:6;25035:15;25029:22;25117:66;25105:9;25097:6;25093:22;25089:95;25082:4;25071:9;25067:20;25060:125;25208:41;25242:6;25226:14;25208:41;:::i;:::-;25318:3;25306:16;;;;25300:23;25293:31;25286:39;25280:3;25265:19;;25258:68;-1:-1:-1;;;25399:42:141;25387:55;;;;25380:4;25365:20;;;25358:85;25194:55;24476:973::o;25454:284::-;25524:5;25572:4;25560:9;25555:3;25551:19;25547:30;25544:50;;;25590:1;25587;25580:12;25544:50;25612:22;;:::i;:::-;25603:31;;25663:9;25657:16;25650:5;25643:31;25727:2;25716:9;25712:18;25706:25;25701:2;25694:5;25690:14;25683:49;25454:284;;;;:::o;25743:259::-;25843:6;25896:2;25884:9;25875:7;25871:23;25867:32;25864:52;;;25912:1;25909;25902:12;25864:52;25935:61;25988:7;25977:9;25935:61;:::i;26132:517::-;26233:2;26228:3;26225:11;26222:421;;;26269:5;26266:1;26259:16;26313:4;26310:1;26300:18;26383:2;26371:10;26367:19;26364:1;26360:27;26354:4;26350:38;26419:4;26407:10;26404:20;26401:47;;;-1:-1:-1;26442:4:141;26401:47;26497:2;26492:3;26488:12;26485:1;26481:20;26475:4;26471:31;26461:41;;26552:81;26570:2;26563:5;26560:13;26552:81;;;26629:1;26615:16;;26596:1;26585:13;26552:81;;26885:1460;27009:3;27003:10;27036:18;27028:6;27025:30;27022:56;;;27058:18;;:::i;:::-;27087:96;27176:6;27136:38;27168:4;27162:11;27136:38;:::i;:::-;27130:4;27087:96;:::i;:::-;27238:4;;27295:2;27284:14;;27312:1;27307:781;;;;28132:1;28149:6;28146:89;;;-1:-1:-1;28201:19:141;;;28195:26;28146:89;26791:66;26782:1;26778:11;;;26774:84;26770:89;26760:100;26866:1;26862:11;;;26757:117;28248:81;;27277:1062;;27307:781;26079:1;26072:14;;;26116:4;26103:18;;27355:66;27343:79;;;27519:236;27533:7;27530:1;27527:14;27519:236;;;27622:19;;;27616:26;27601:42;;27714:27;;;;27682:1;27670:14;;;;27549:19;;27519:236;;;27523:3;27783:6;27774:7;27771:19;27768:261;;;27844:19;;;27838:26;27945:66;27927:1;27923:14;;;27939:3;27919:24;27915:97;27911:102;27896:118;27881:134;;27768:261;;;28075:1;28066:6;28063:1;28059:14;28055:22;28049:4;28042:36;27277:1062;;;;;26885:1460;;:::o;28350:1225::-;28568:4;28597:2;28637;28626:9;28622:18;28667:2;28656:9;28649:21;28690:6;28725;28719:13;28756:6;28748;28741:22;28782:2;28772:12;;28815:2;28804:9;28800:18;28793:25;;28877:2;28867:6;28864:1;28860:14;28849:9;28845:30;28841:39;28915:2;28907:6;28903:15;28936:1;28946:600;28960:6;28957:1;28954:13;28946:600;;;29025:22;;;29049:66;29021:95;29009:108;;29140:13;;29212:9;;29223:10;29208:26;29193:42;;29282:11;;;29276:18;29296:6;29272:31;29255:15;;;29248:56;29343:11;;29337:18;29176:4;29375:15;;;29368:27;;;29418:48;29450:15;;;29337:18;29418:48;:::i;:::-;29524:12;;;;29408:58;-1:-1:-1;;;29489:15:141;;;;28982:1;28975:9;28946:600;;;-1:-1:-1;29563:6:141;;28350:1225;-1:-1:-1;;;;;;;;28350:1225:141:o;29580:274::-;29620:1;29646;29636:189;;29681:77;29678:1;29671:88;29782:4;29779:1;29772:15;29810:4;29807:1;29800:15;29636:189;-1:-1:-1;29839:9:141;;29580:274::o;29859:322::-;29932:9;;;29963;;29980:15;;;29974:22;;29960:37;29950:225;;30031:77;30028:1;30021:88;30132:4;30129:1;30122:15;30160:4;30157:1;30150:15;30186:348;30275:6;30328:2;30316:9;30307:7;30303:23;30299:32;30296:52;;;30344:1;30341;30334:12;30296:52;30370:22;;:::i;:::-;30428:9;30415:23;30408:5;30401:38;30499:2;30488:9;30484:18;30471:32;30466:2;30459:5;30455:14;30448:56;30523:5;30513:15;;;30186:348;;;;:::o;30878:315::-;30998:19;;31037:2;31029:11;;31026:161;;;31109:66;31098:2;31094:12;;;31091:1;31087:20;31083:93;31072:105;30878:315;;;;:::o;31198:369::-;31356:66;31318:19;;31440:11;;;;31471:1;31463:10;;31460:101;;;31548:2;31542;31535:3;31532:1;31528:11;31525:1;31521:19;31517:28;31513:2;31509:37;31505:46;31496:55;;31460:101;;;31198:369;;;;:::o;31572:652::-;31833:66;31824:6;31819:3;31815:16;31811:89;31806:3;31799:102;31952:66;31943:6;31938:3;31934:16;31930:89;31926:1;31921:3;31917:11;31910:110;32050:6;32045:2;32040:3;32036:12;32029:28;31781:3;32086:6;32080:13;32102:75;32170:6;32165:2;32160:3;32156:12;32149:4;32141:6;32137:17;32102:75;:::i;:::-;32197:16;;;;32215:2;32193:25;;31572:652;-1:-1:-1;;;;;31572:652:141:o;32562:570::-;32803:6;32798:3;32791:19;32862:66;32853:6;32848:3;32844:16;32840:89;32835:2;32830:3;32826:12;32819:111;32960:6;32955:2;32950:3;32946:12;32939:28;32773:3;32996:6;32990:13;33012:73;33078:6;33073:2;33068:3;33064:12;33059:2;33051:6;33047:15;33012:73;:::i;:::-;33105:16;;;;33123:2;33101:25;;32562:570;-1:-1:-1;;;;;32562:570:141:o;33842:525::-;33946:6;33999:3;33987:9;33978:7;33974:23;33970:33;33967:53;;;34016:1;34013;34006:12;33967:53;34042:22;;:::i;:::-;34093:9;34087:16;34080:5;34073:31;34149:2;34138:9;34134:18;34128:25;34162:32;34186:7;34162:32;:::i;:::-;34221:2;34210:14;;34203:31;34266:70;34328:7;34323:2;34308:18;;34266:70;:::i;:::-;34261:2;34250:14;;34243:94;34254:5;33842:525;-1:-1:-1;;;33842:525:141:o;34372:251::-;34442:6;34495:2;34483:9;34474:7;34470:23;34466:32;34463:52;;;34511:1;34508;34501:12;34463:52;34543:9;34537:16;34562:31;34587:5;34562:31;:::i","linkReferences":{},"immutableReferences":{"11366":[{"start":1242,"length":32},{"start":2216,"length":32},{"start":4090,"length":32},{"start":4891,"length":32},{"start":5632,"length":32},{"start":7435,"length":32},{"start":7821,"length":32},{"start":8068,"length":32},{"start":8115,"length":32},{"start":8362,"length":32}],"18":[{"start":1943,"length":32},{"start":5873,"length":32},{"start":5964,"length":32}],"292":[{"start":1501,"length":32},{"start":6458,"length":32},{"start":6820,"length":32},{"start":6997,"length":32}]}},"methodIdentifiers":{"SEND()":"1f5e1334","SEND_AND_CALL()":"134d4f25","allowInitializePath((uint32,bytes32,uint64))":"ff7bd03d","approvalRequired()":"9f68b964","combineOptions(uint32,uint16,bytes)":"bc70b354","credit(address,uint256,uint32)":"4dba701b","debit(uint256,uint256,uint32)":"54f52414","debitView(uint256,uint256,uint32)":"f0163023","decimalConversionRate()":"963efcaa","endpoint()":"5e280f11","enforcedOptions(uint32,uint16)":"5535d461","isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":"82413eac","isPeer(uint32,bytes32)":"5a0dfe4d","lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":"13137d65","lzReceiveAndRevert(((uint32,bytes32,uint64),uint32,address,bytes32,uint256,address,bytes,bytes)[])":"bd815db0","lzReceiveSimulate((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":"d045a0dc","msgInspector()":"111ecdad","nextNonce(uint32,bytes32)":"7d25a05e","oApp()":"52ae2879","oAppVersion()":"17442b70","oftVersion()":"156a0d0f","owner()":"8da5cb5b","peers(uint32)":"bb0b6a53","preCrime()":"b731ea0a","quoteOFT((uint32,bytes32,uint256,uint256,bytes,bytes,bytes))":"0d35b415","quoteSend((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),bool)":"3b6f743b","removeDust(uint256)":"c0779988","renounceOwnership()":"715018a6","send((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),(uint256,uint256),address)":"c7c7f5b3","setDelegate(address)":"ca5eb5e1","setEnforcedOptions((uint32,uint16,bytes)[])":"b98bd070","setMsgInspector(address)":"6fc1b31e","setPeer(uint32,bytes32)":"3400288b","setPreCrime(address)":"d4243885","sharedDecimals()":"857749b0","token()":"fc0c546a","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_lzEndpoint\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_delegate\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidDelegate\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEndpointCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLocalDecimals\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"name\":\"InvalidOptions\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LzTokenUnavailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NativeTokenUnavailable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"NoPeer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"}],\"name\":\"NotEnoughNative\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_msg_value\",\"type\":\"uint256\"}],\"name\":\"OFTAltCore__msg_value_not_zero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"OnlyEndpoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"}],\"name\":\"OnlyPeer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlySelf\",\"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\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"SimulationResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountLD\",\"type\":\"uint256\"}],\"name\":\"SlippageExceeded\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"msgType\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"struct EnforcedOptionParam[]\",\"name\":\"_enforcedOptions\",\"type\":\"tuple[]\"}],\"name\":\"EnforcedOptionSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"inspector\",\"type\":\"address\"}],\"name\":\"MsgInspectorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReceivedLD\",\"type\":\"uint256\"}],\"name\":\"OFTReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountSentLD\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReceivedLD\",\"type\":\"uint256\"}],\"name\":\"OFTSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"peer\",\"type\":\"bytes32\"}],\"name\":\"PeerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"preCrimeAddress\",\"type\":\"address\"}],\"name\":\"PreCrimeSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"SEND\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SEND_AND_CALL\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"}],\"name\":\"allowInitializePath\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvalRequired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"_msgType\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"_extraOptions\",\"type\":\"bytes\"}],\"name\":\"combineOptions\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToCreditLD\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_srcEid\",\"type\":\"uint32\"}],\"name\":\"credit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountReceivedLD\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountToSendLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minAmountToCreditLD\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"}],\"name\":\"debit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountDebitedLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountToCreditLD\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountToSendLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minAmountToCreditLD\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"}],\"name\":\"debitView\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountDebitedLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountToCreditLD\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimalConversionRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endpoint\",\"outputs\":[{\"internalType\":\"contract ILayerZeroEndpointV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"msgType\",\"type\":\"uint16\"}],\"name\":\"enforcedOptions\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"enforcedOption\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"isComposeMsgSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_peer\",\"type\":\"bytes32\"}],\"name\":\"isPeer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"_origin\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"lzReceive\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"internalType\":\"struct InboundPacket[]\",\"name\":\"_packets\",\"type\":\"tuple[]\"}],\"name\":\"lzReceiveAndRevert\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"_origin\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"lzReceiveSimulate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgInspector\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nextNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oApp\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oAppVersion\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"senderVersion\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"receiverVersion\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oftVersion\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"},{\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"peers\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"peer\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"preCrime\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"to\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amountLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountLD\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"extraOptions\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"composeMsg\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"oftCmd\",\"type\":\"bytes\"}],\"internalType\":\"struct SendParam\",\"name\":\"_sendParam\",\"type\":\"tuple\"}],\"name\":\"quoteOFT\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minAmountLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxAmountLD\",\"type\":\"uint256\"}],\"internalType\":\"struct OFTLimit\",\"name\":\"oftLimit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int256\",\"name\":\"feeAmountLD\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct OFTFeeDetail[]\",\"name\":\"oftFeeDetails\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountSentLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountReceivedLD\",\"type\":\"uint256\"}],\"internalType\":\"struct OFTReceipt\",\"name\":\"oftReceipt\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"to\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amountLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountLD\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"extraOptions\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"composeMsg\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"oftCmd\",\"type\":\"bytes\"}],\"internalType\":\"struct SendParam\",\"name\":\"_sendParam\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"_payInLzToken\",\"type\":\"bool\"}],\"name\":\"quoteSend\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"nativeFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"internalType\":\"struct MessagingFee\",\"name\":\"msgFee\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountLD\",\"type\":\"uint256\"}],\"name\":\"removeDust\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountLD\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"to\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amountLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountLD\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"extraOptions\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"composeMsg\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"oftCmd\",\"type\":\"bytes\"}],\"internalType\":\"struct SendParam\",\"name\":\"_sendParam\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"nativeFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"internalType\":\"struct MessagingFee\",\"name\":\"_fee\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_refundAddress\",\"type\":\"address\"}],\"name\":\"send\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"nativeFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"internalType\":\"struct MessagingFee\",\"name\":\"fee\",\"type\":\"tuple\"}],\"internalType\":\"struct MessagingReceipt\",\"name\":\"msgReceipt\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountSentLD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountReceivedLD\",\"type\":\"uint256\"}],\"internalType\":\"struct OFTReceipt\",\"name\":\"oftReceipt\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegate\",\"type\":\"address\"}],\"name\":\"setDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"msgType\",\"type\":\"uint16\"},{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"internalType\":\"struct EnforcedOptionParam[]\",\"name\":\"_enforcedOptions\",\"type\":\"tuple[]\"}],\"name\":\"setEnforcedOptions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_msgInspector\",\"type\":\"address\"}],\"name\":\"setMsgInspector\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_peer\",\"type\":\"bytes32\"}],\"name\":\"setPeer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_preCrime\",\"type\":\"address\"}],\"name\":\"setPreCrime\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharedDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"PreCrimeSet(address)\":{\"details\":\"Emitted when the preCrime contract address is set.\",\"params\":{\"preCrimeAddress\":\"The address of the preCrime contract.\"}}},\"kind\":\"dev\",\"methods\":{\"allowInitializePath((uint32,bytes32,uint64))\":{\"details\":\"This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.This defaults to assuming if a peer has been set, its initialized. Can be overridden by the OApp if there is other logic to determine this.\",\"params\":{\"origin\":\"The origin information containing the source endpoint and sender address.\"},\"returns\":{\"_0\":\"Whether the path has been initialized.\"}},\"approvalRequired()\":{\"details\":\"In the case of default OFTAdapter, approval is required.In non-default OFTAdapter contracts with something like mint and burn privileges, it would NOT need approval.\",\"returns\":{\"_0\":\"requiresApproval Needs approval of the underlying token implementation.\"}},\"combineOptions(uint32,uint16,bytes)\":{\"details\":\"If there is an enforced lzReceive option: - {gasLimit: 200k, msg.value: 1 ether} AND a caller supplies a lzReceive option: {gasLimit: 100k, msg.value: 0.5 ether} - The resulting options will be {gasLimit: 300k, msg.value: 1.5 ether} when the message is executed on the remote lzReceive() function.This presence of duplicated options is handled off-chain in the verifier/executor.\",\"params\":{\"_eid\":\"The endpoint ID.\",\"_extraOptions\":\"Additional options passed by the caller.\",\"_msgType\":\"The OAPP message type.\"},\"returns\":{\"_0\":\"options The combination of caller specified options AND enforced options.\"}},\"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)\":{\"details\":\"_origin The origin information containing the source endpoint and sender address.  - srcEid: The source chain endpoint ID.  - sender: The sender address on the src chain.  - nonce: The nonce of the message._message The lzReceive payload.Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.The default sender IS the OAppReceiver implementer.\",\"params\":{\"_sender\":\"The sender address.\"},\"returns\":{\"_0\":\"isSender Is a valid sender.\"}},\"isPeer(uint32,bytes32)\":{\"details\":\"Check if the peer is considered 'trusted' by the OApp.Enables OAppPreCrimeSimulator to check whether a potential Inbound Packet is from a trusted source.\",\"params\":{\"_eid\":\"The endpoint ID to check.\",\"_peer\":\"The peer to check.\"},\"returns\":{\"_0\":\"Whether the peer passed is considered 'trusted' by the OApp.\"}},\"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)\":{\"details\":\"Entry point for receiving messages or packets from the endpoint.Entry point for receiving msg/packet from the LayerZero endpoint.\",\"params\":{\"_executor\":\"The address of the executor for the received message.\",\"_extraData\":\"Additional arbitrary data provided by the corresponding executor.\",\"_guid\":\"The unique identifier for the received LayerZero message.\",\"_message\":\"The payload of the received message.\",\"_origin\":\"The origin information containing the source endpoint and sender address.  - srcEid: The source chain endpoint ID.  - sender: The sender address on the src chain.  - nonce: The nonce of the message.\"}},\"lzReceiveAndRevert(((uint32,bytes32,uint64),uint32,address,bytes32,uint256,address,bytes,bytes)[])\":{\"details\":\"Interface for pre-crime simulations. Always reverts at the end with the simulation results.WARNING: MUST revert at the end with the simulation results.Gives the preCrime implementation the ability to mock sending packets to the lzReceive function, WITHOUT actually executing them.\",\"params\":{\"_packets\":\"An array of InboundPacket objects representing received packets to be delivered.\"}},\"lzReceiveSimulate((uint32,bytes32,uint64),bytes32,bytes,address,bytes)\":{\"details\":\"Is effectively an internal function because msg.sender must be address(this). Allows resetting the call stack for 'internal' calls.\",\"params\":{\"_executor\":\"The executor address for the packet.\",\"_extraData\":\"Additional data for the packet.\",\"_guid\":\"The unique identifier of the packet.\",\"_message\":\"The message payload of the packet.\",\"_origin\":\"The origin information containing the source endpoint and sender address.  - srcEid: The source chain endpoint ID.  - sender: The sender address on the src chain.  - nonce: The nonce of the message.\"}},\"nextNonce(uint32,bytes32)\":{\"details\":\"_srcEid The source endpoint ID._sender The sender address.The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.Is required by the off-chain executor to determine the OApp expects msg execution is ordered.This is also enforced by the OApp.By default this is NOT enabled. ie. nextNonce is hardcoded to return 0.\",\"returns\":{\"nonce\":\"The next nonce.\"}},\"oApp()\":{\"details\":\"Retrieves the address of the OApp contract.The simulator contract is the base contract for the OApp by default.If the simulator is a separate contract, override this function.\",\"returns\":{\"_0\":\"The address of the OApp contract.\"}},\"oAppVersion()\":{\"returns\":{\"receiverVersion\":\"The version of the OAppReceiver.sol implementation.\",\"senderVersion\":\"The version of the OAppSenderAlt.sol implementation.\"}},\"oftVersion()\":{\"details\":\"interfaceId: This specific interface ID is '0x02e49c2c'.version: Indicates a cross-chain compatible msg encoding with other OFTs.If a new feature is added to the OFT cross-chain msg encoding, the version will be incremented. ie. localOFT version(x,1) CAN send messages to remoteOFT version(x,1)\",\"returns\":{\"interfaceId\":\"The interface ID.\",\"version\":\"The version.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"quoteOFT((uint32,bytes32,uint256,uint256,bytes,bytes,bytes))\":{\"params\":{\"_sendParam\":\"The parameters for the send operation.\"},\"returns\":{\"oftFeeDetails\":\"The details of OFT fees.\",\"oftLimit\":\"The OFT limit information.\",\"oftReceipt\":\"The OFT receipt information.\"}},\"quoteSend((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),bool)\":{\"details\":\"MessagingFee: LayerZero msg fee  - nativeFee: The native fee.  - lzTokenFee: The lzToken fee.\",\"params\":{\"_payInLzToken\":\"Flag indicating whether the caller is paying in the LZ token.\",\"_sendParam\":\"The parameters for the send() operation.\"},\"returns\":{\"msgFee\":\"The calculated LayerZero messaging fee from the send() operation.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"send((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),(uint256,uint256),address)\":{\"details\":\"Executes the send operation.MessagingReceipt: LayerZero msg receipt  - guid: The unique identifier for the sent message.  - nonce: The nonce of the sent message.  - fee: The LayerZero fee incurred for the message.\",\"params\":{\"_fee\":\"The calculated fee for the send() operation.      - nativeFee: The native fee.      - lzTokenFee: The lzToken fee.\",\"_refundAddress\":\"The address to receive any excess funds.\",\"_sendParam\":\"The parameters for the send operation.\"},\"returns\":{\"msgReceipt\":\"The receipt for the send operation.\",\"oftReceipt\":\"The OFT receipt information.\"}},\"setDelegate(address)\":{\"details\":\"Only the owner/admin of the OApp can call this function.Provides the ability for a delegate to set configs, on behalf of the OApp, directly on the Endpoint contract.\",\"params\":{\"_delegate\":\"The address of the delegate to be set.\"}},\"setEnforcedOptions((uint32,uint16,bytes)[])\":{\"details\":\"Sets the enforced options for specific endpoint and message type combinations.Only the owner/admin of the OApp can call this function.Provides a way for the OApp to enforce things like paying for PreCrime, AND/OR minimum dst lzReceive gas amounts etc.These enforced options can vary as the potential options/execution on the remote may differ as per the msgType. eg. Amount of lzReceive() gas necessary to deliver a lzCompose() message adds overhead you dont want to pay if you are only making a standard LayerZero message ie. lzReceive() WITHOUT sendCompose().\",\"params\":{\"_enforcedOptions\":\"An array of EnforcedOptionParam structures specifying enforced options.\"}},\"setMsgInspector(address)\":{\"details\":\"Sets the message inspector address for the OFT.This is an optional contract that can be used to inspect both 'message' and 'options'.Set it to address(0) to disable it, or set it to a contract address to enable it.\",\"params\":{\"_msgInspector\":\"The address of the message inspector.\"}},\"setPeer(uint32,bytes32)\":{\"details\":\"Only the owner/admin of the OApp can call this function.Indicates that the peer is trusted to send LayerZero messages to this OApp.Set this to bytes32(0) to remove the peer address.Peer is a bytes32 to accommodate non-evm chains.\",\"params\":{\"_eid\":\"The endpoint ID.\",\"_peer\":\"The address of the peer to be associated with the corresponding endpoint.\"}},\"setPreCrime(address)\":{\"details\":\"Sets the preCrime contract address.\",\"params\":{\"_preCrime\":\"The address of the preCrime contract.\"}},\"sharedDecimals()\":{\"details\":\"Retrieves the shared decimals of the OFT.Sets an implicit cap on the amount of tokens, over uint64.max() will need some sort of outbound cap / totalSupply cap Lowest common decimal denominator between chains. Defaults to 6 decimal places to provide up to 18,446,744,073,709.551615 units (max uint64). For tokens exceeding this totalSupply(), they will need to override the sharedDecimals function with something smaller. ie. 4 sharedDecimals would be 1,844,674,407,370,955.1615\",\"returns\":{\"_0\":\"The shared decimals of the OFT.\"}},\"token()\":{\"details\":\"Retrieves the address of the underlying ERC20 implementation.In the case of OFTAdapter, address(this) and erc20 are NOT the same contract.\",\"returns\":{\"_0\":\"The address of the adapted ERC-20 token.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowInitializePath((uint32,bytes32,uint64))\":{\"notice\":\"Checks if the path initialization is allowed based on the provided origin.\"},\"approvalRequired()\":{\"notice\":\"Indicates whether the OFT contract requires approval of the 'token()' to send.\"},\"combineOptions(uint32,uint16,bytes)\":{\"notice\":\"Combines options for a given endpoint and message type.\"},\"endpoint()\":{\"notice\":\"Retrieves the LayerZero endpoint associated with the OApp.\"},\"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)\":{\"notice\":\"Indicates whether an address is an approved composeMsg sender to the Endpoint.\"},\"nextNonce(uint32,bytes32)\":{\"notice\":\"Retrieves the next nonce for a given source endpoint and sender address.\"},\"oAppVersion()\":{\"notice\":\"Retrieves the OAppAlt version information.\"},\"oftVersion()\":{\"notice\":\"Retrieves interfaceID and the version of the OFT.\"},\"peers(uint32)\":{\"notice\":\"Retrieves the peer (OApp) associated with a corresponding endpoint.\"},\"quoteOFT((uint32,bytes32,uint256,uint256,bytes,bytes,bytes))\":{\"notice\":\"Provides a quote for OFT-related operations.\"},\"quoteSend((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),bool)\":{\"notice\":\"Provides a quote for the send() operation.\"},\"setDelegate(address)\":{\"notice\":\"Sets the delegate address for the OApp.\"},\"setPeer(uint32,bytes32)\":{\"notice\":\"Sets the peer address (OApp instance) for a corresponding endpoint.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/OFTAdapterAltMock.sol\":\"OFTAdapterAltMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"contracts/OFTAdapterAlt.sol\":{\"keccak256\":\"0x83f611ca939c3133841af7688a5588547287f7ab63607418092c739014df483c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd7cb69514a95b04545b1c1f615f6b9a432c4ec4932e41b667762449d71e6501\",\"dweb:/ipfs/QmQZNHazwDZCXbBXXN6L5YwtG8mnDmmAetJzpQELw2gmhC\"]},\"contracts/OFTAltCore.sol\":{\"keccak256\":\"0x35411d8b7208e05dc20d6c55f07311ad8b3c774449253e09a30aae1c8641e7bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8115bd2d5a02eabf38872b46e59df892c310b2fa5560e5ad4a606c17c6a2e6f4\",\"dweb:/ipfs/QmecqPx8QFxz9ZYLfTUFzxT2sXQmUcyUwRdxYKa6CCwuGK\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol\":{\"keccak256\":\"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083\",\"dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroReceiver.sol\":{\"keccak256\":\"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933\",\"dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLib.sol\":{\"keccak256\":\"0x5cf5f24751b4e3ea1c9c5ded07cedfdfd62566b6daaffcc0144733859c9dba0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cae7e35007a714f007ea08045ef7c0cfa6c91fd2425b5028b2d49abad357a5f0\",\"dweb:/ipfs/QmcDBs5tsiyB35b8cwzWQWNnpkawb3uuHRaqE77Hxm2tve\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLibManager.sol\":{\"keccak256\":\"0x919b37133adff4dc528e3061deb2789c3149971b530c61e556fb3d09ab315dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8ff6a8a89297fa127f86b54e0db3eba1d6a6eeb4f6398d3c84d569665ac8f1b\",\"dweb:/ipfs/QmVSwhw6xFDrLRAX4RXaCM47yBaBtac4wf36DYEq6KCTvT\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingChannel.sol\":{\"keccak256\":\"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927\",\"dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.sol\":{\"keccak256\":\"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d\",\"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingContext.sol\":{\"keccak256\":\"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6\",\"dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ISendLib.sol\":{\"keccak256\":\"0xf1c07bc61e7b1dce195ed12d50f87980fbf2d63cac1326fd28287f55fe0ba625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://060f10ff7afc33c1c2f2b4b5ba29231fd3c943146488084d0e4ab99fce991d97\",\"dweb:/ipfs/QmaSsefAqqEqtf8FgFUmDYMwTsAty3X1pqDb6SiFvry6B3\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/AddressCast.sol\":{\"keccak256\":\"0x2ebbcaaab3554edcd41b581f1a72ac1806afbfb8047d0d47ff098f9af30d6deb\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://2d4b2cf5c3b16dc76c6767f285b57c0af917972327b2be3f7cba5825402f5fc1\",\"dweb:/ipfs/QmQQWiHE2jKEDbjzGutSoZwtApSXYfLqZt5CxEpFj8xyvT\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/PacketV1Codec.sol\":{\"keccak256\":\"0xc84cf1bf785977fe1fbe7566eef902c2db68d0e163813ebe6c34921754802680\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://de686666fc16fa432d4208d85cec87dc952faf3e481b683b9adf4b4610db4b09\",\"dweb:/ipfs/QmdmQeopzmxqRzi9DNB4EJDrYUXFfD7fUhnGhSni4QejUW\"]},\"node_modules/@layerzerolabs/oapp-alt-evm/contracts/oapp/OAppAlt.sol\":{\"keccak256\":\"0xbe02609f15066d507c857389271a1bc0935a201a91adc4402eac957a353975f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df92bda5b2954f96f8055a6f2abc5aa08ae4811eea2fd4516d539352230dbcea\",\"dweb:/ipfs/QmdX84h7wvKZ3aN5HPRPZTr8vwXXTVR6RY79KbiDSdModG\"]},\"node_modules/@layerzerolabs/oapp-alt-evm/contracts/oapp/OAppSenderAlt.sol\":{\"keccak256\":\"0x484947570c20054c628516bbfe2a7ce7dd7fa01cd8af094aaf6a2efefc11c449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c6f9a7038e88b637f63dd6088e0344ee636985c6c9f3cf12fb3bfec6e8b6deb\",\"dweb:/ipfs/QmXAE2XQn7PH4DsiCMDfyAVacftrTUphfecN3oiVtPtpqy\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/OAppCore.sol\":{\"keccak256\":\"0x13a9c2d1d2c1f086b8624f2e84c4a4702212daae36f701d92bb915b535cbe4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://606515dd9193551bd2c94ac8c304f3776fafcc70e544ebf441f334658b2fd5f0\",\"dweb:/ipfs/QmZ88ey7DdZqV5taAoebabvszX5kdPMSrQCAmTteVdDtcH\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/OAppReceiver.sol\":{\"keccak256\":\"0x0174e9f1ec4cefe4b5adc26c392269c699b9ff75965364e5b7264426a462c70b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd12bb4fe5802c53911b9a0081a2ea10639b1f99925d1e5c1b1421d1bdc17075\",\"dweb:/ipfs/QmZonarwbKiEwQ8qoASKur2bbMjusdy9pqK9RCR4P1YPtc\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/OAppSender.sol\":{\"keccak256\":\"0x518cf4adca601923ed4baa6619846a253ea32b8d8775f8bc1faa3dfac7f67c20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d42b471418efadcc3577ef3fa9f8f504e8bed7db90c3b0c862038d8b29529eb2\",\"dweb:/ipfs/QmZETDQiJN4U92fmLKo8T9ZbdDf7BNBUUvo9H7M7GqAyFU\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppCore.sol\":{\"keccak256\":\"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd\",\"dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppMsgInspector.sol\":{\"keccak256\":\"0x339654e699043c400cad92de209aa23855ce10211c31cf4114042cc5224d3b7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5222afde59bf086f67b39e0288ad36343f4f5ed683d250533f256a5db956f37e\",\"dweb:/ipfs/QmbEG9EMYsK3Y6Cz7QbNtkW4kHGzMuhp2y2seSoL8v1A5b\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppOptionsType3.sol\":{\"keccak256\":\"0x9fc08a51e9d7c9c710c4eb26f84fe77228305ad7da63fa486ff24ebf2f3bc461\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e2eea8a93bb9fc3f629767118b362e9b4bda2443ff95eae21c6a894f3e334cc\",\"dweb:/ipfs/QmPRRNjAB4U19ke4gr3U7ZJGtdcVBxdXVBZ2BmB1riFkP7\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.sol\":{\"keccak256\":\"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2\",\"dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/libs/OAppOptionsType3.sol\":{\"keccak256\":\"0x5275636cd47e660a2fdf6c7fe9d41ff3cc866b785cc8a9d88c1b8ca983509f01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a59dd6e3cfcc332f45a13d44585eb228588c4b9d470cbb19852df5753a4571af\",\"dweb:/ipfs/QmQJF1QU3MKhvmw42eq61u9z3bzKJJKMsEdQVYyPyYgTVS\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/OAppPreCrimeSimulator.sol\":{\"keccak256\":\"0x205a0abfd8b3c9af2740769f251381b84999b8e9347f3cd50de3ef8290a17750\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9778d7d5da941af2029410b6ac212f915ea1785573ae2865b0ed8f779fcca82\",\"dweb:/ipfs/QmNkVEkfecvgubgnMuaT5fEfSExd95vz8DQHhpZtMrVRjH\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol\":{\"keccak256\":\"0x5d24db150949ea8e6437178e65a942e8c8b7f332e5daf32750f56b23b35b5bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b1dcea0267234654126f926a1b405743606d7b5e49185b621afb7bd94d18b9a\",\"dweb:/ipfs/QmZ9BXQmbWJcrhHKuBs4yhNtbCV5WUpUY3AXSX7rkWwX6y\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.sol\":{\"keccak256\":\"0xc8d869f27ef8ceb2e13fdf6a70682fd4dee3f90c4924eb8e125bc1e66cb6af84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66bf49d59c14832ea0ddddcd12d512d4f9bd0fd254a1368442587bf3e77fe73e\",\"dweb:/ipfs/QmYUAvsyuUPiSYjbL4zVo6ZtiRSLCUPDvCesqgdZWbSGDg\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/libs/Packet.sol\":{\"keccak256\":\"0xcb2fb1c5b2eb3731de78b479b9c2ab3bba326fe0b0b3a008590f18e881e457a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f70724c61d226743c2bd8ba6c09758805e4339780978949ce5b333c106be4edc\",\"dweb:/ipfs/QmX5rV9K1N7RgTz9xtf8CDG8SrYiitGAzFh9ec2tbnEec4\"]},\"node_modules/@layerzerolabs/oft-evm/contracts/interfaces/IOFT.sol\":{\"keccak256\":\"0x7ba6bb62fba7ee83451cfb0e727ddeef0e96b4388bd4e9ff0fc6ce103e1101c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfbd447f2e8a730bd46a14c3c3e6a0b2bf7446145579603a9793ba5ac1dd38b4\",\"dweb:/ipfs/QmZ4nx4iGrFmBHvYFgki5TXFdCHz4Co38hgdgwpRaM7NLs\"]},\"node_modules/@layerzerolabs/oft-evm/contracts/libs/OFTComposeMsgCodec.sol\":{\"keccak256\":\"0xaae73d6eb8b9561c43f1802f3c416c00ccd35f172b711f9781ccdf1b25a40db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7beda2d895ae9e15269dd261a492ce0a29b498e5bebf088ed6f2ae6a5185719e\",\"dweb:/ipfs/QmScog2tW1YVyEPLVcUVqGGc85ub46sA28nUKNzFEZcFdK\"]},\"node_modules/@layerzerolabs/oft-evm/contracts/libs/OFTMsgCodec.sol\":{\"keccak256\":\"0x5358948017669c03e157f871d8c38e988f9004dbd0801ad3119d2487f0d40b0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7d0f1bf32a80af9b99cd93fefa373dac5c27463351cc35f62b9c2439d5b9258\",\"dweb:/ipfs/Qmb81qoxzMwV3PkPANRvnXf4fJTsZ5sjJ8r2df9V2vhh6q\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"test/mocks/OFTAdapterAltMock.sol\":{\"keccak256\":\"0x85b14e9275e91b4242294002d3873f8c5bcb2a8a6fce0903d14f389af46b3803\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ce187589c9a11f85a5f54c261931a4571b23ec0e887b118e89c139305ef6b5b8\",\"dweb:/ipfs/QmQR7E9QTfvA3AXwQBmVGa9SH6ASYWWFczWytNvSnH1xdD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_delegate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidDelegate"},{"inputs":[],"type":"error","name":"InvalidEndpointCall"},{"inputs":[],"type":"error","name":"InvalidLocalDecimals"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"type":"error","name":"InvalidOptions"},{"inputs":[],"type":"error","name":"LzTokenUnavailable"},{"inputs":[],"type":"error","name":"NativeTokenUnavailable"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"type":"error","name":"NoPeer"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"type":"error","name":"NotEnoughNative"},{"inputs":[{"internalType":"uint256","name":"_msg_value","type":"uint256"}],"type":"error","name":"OFTAltCore__msg_value_not_zero"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"type":"error","name":"OnlyEndpoint"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"type":"error","name":"OnlyPeer"},{"inputs":[],"type":"error","name":"OnlySelf"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"type":"error","name":"SimulationResult"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"type":"error","name":"SlippageExceeded"},{"inputs":[{"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]","components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false}],"type":"event","name":"EnforcedOptionSet","anonymous":false},{"inputs":[{"internalType":"address","name":"inspector","type":"address","indexed":false}],"type":"event","name":"MsgInspectorSet","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"guid","type":"bytes32","indexed":true},{"internalType":"uint32","name":"srcEid","type":"uint32","indexed":false},{"internalType":"address","name":"toAddress","type":"address","indexed":true},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256","indexed":false}],"type":"event","name":"OFTReceived","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"guid","type":"bytes32","indexed":true},{"internalType":"uint32","name":"dstEid","type":"uint32","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"uint256","name":"amountSentLD","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256","indexed":false}],"type":"event","name":"OFTSent","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32","indexed":false},{"internalType":"bytes32","name":"peer","type":"bytes32","indexed":false}],"type":"event","name":"PeerSet","anonymous":false},{"inputs":[{"internalType":"address","name":"preCrimeAddress","type":"address","indexed":false}],"type":"event","name":"PreCrimeSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}]},{"inputs":[{"internalType":"struct Origin","name":"origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]}],"stateMutability":"view","type":"function","name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"stateMutability":"view","type":"function","name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amountToCreditLD","type":"uint256"},{"internalType":"uint32","name":"_srcEid","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"credit","outputs":[{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amountToSendLD","type":"uint256"},{"internalType":"uint256","name":"_minAmountToCreditLD","type":"uint256"},{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"debit","outputs":[{"internalType":"uint256","name":"amountDebitedLD","type":"uint256"},{"internalType":"uint256","name":"amountToCreditLD","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amountToSendLD","type":"uint256"},{"internalType":"uint256","name":"_minAmountToCreditLD","type":"uint256"},{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"stateMutability":"view","type":"function","name":"debitView","outputs":[{"internalType":"uint256","name":"amountDebitedLD","type":"uint256"},{"internalType":"uint256","name":"amountToCreditLD","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"stateMutability":"view","type":"function","name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}]},{"inputs":[{"internalType":"struct Origin","name":"","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"view","type":"function","name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct Origin","name":"_origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzReceive"},{"inputs":[{"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]","components":[{"internalType":"struct Origin","name":"origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"lzReceiveAndRevert"},{"inputs":[{"internalType":"struct Origin","name":"_origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzReceiveSimulate"},{"inputs":[],"stateMutability":"view","type":"function","name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"stateMutability":"view","type":"function","name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct SendParam","name":"_sendParam","type":"tuple","components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"quoteOFT","outputs":[{"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple","components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}]},{"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]","components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}]},{"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple","components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}]}]},{"inputs":[{"internalType":"struct SendParam","name":"_sendParam","type":"tuple","components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}]},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"stateMutability":"view","type":"function","name":"quoteSend","outputs":[{"internalType":"struct MessagingFee","name":"msgFee","type":"tuple","components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"_amountLD","type":"uint256"}],"stateMutability":"view","type":"function","name":"removeDust","outputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"struct SendParam","name":"_sendParam","type":"tuple","components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}]},{"internalType":"struct MessagingFee","name":"_fee","type":"tuple","components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}]},{"internalType":"address","name":"_refundAddress","type":"address"}],"stateMutability":"payable","type":"function","name":"send","outputs":[{"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple","components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"struct MessagingFee","name":"fee","type":"tuple","components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}]}]},{"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple","components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegate"},{"inputs":[{"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]","components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"setEnforcedOptions"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMsgInspector"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setPeer"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPreCrime"},{"inputs":[],"stateMutability":"view","type":"function","name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"allowInitializePath((uint32,bytes32,uint64))":{"details":"This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.This defaults to assuming if a peer has been set, its initialized. Can be overridden by the OApp if there is other logic to determine this.","params":{"origin":"The origin information containing the source endpoint and sender address."},"returns":{"_0":"Whether the path has been initialized."}},"approvalRequired()":{"details":"In the case of default OFTAdapter, approval is required.In non-default OFTAdapter contracts with something like mint and burn privileges, it would NOT need approval.","returns":{"_0":"requiresApproval Needs approval of the underlying token implementation."}},"combineOptions(uint32,uint16,bytes)":{"details":"If there is an enforced lzReceive option: - {gasLimit: 200k, msg.value: 1 ether} AND a caller supplies a lzReceive option: {gasLimit: 100k, msg.value: 0.5 ether} - The resulting options will be {gasLimit: 300k, msg.value: 1.5 ether} when the message is executed on the remote lzReceive() function.This presence of duplicated options is handled off-chain in the verifier/executor.","params":{"_eid":"The endpoint ID.","_extraOptions":"Additional options passed by the caller.","_msgType":"The OAPP message type."},"returns":{"_0":"options The combination of caller specified options AND enforced options."}},"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":{"details":"_origin The origin information containing the source endpoint and sender address.  - srcEid: The source chain endpoint ID.  - sender: The sender address on the src chain.  - nonce: The nonce of the message._message The lzReceive payload.Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.The default sender IS the OAppReceiver implementer.","params":{"_sender":"The sender address."},"returns":{"_0":"isSender Is a valid sender."}},"isPeer(uint32,bytes32)":{"details":"Check if the peer is considered 'trusted' by the OApp.Enables OAppPreCrimeSimulator to check whether a potential Inbound Packet is from a trusted source.","params":{"_eid":"The endpoint ID to check.","_peer":"The peer to check."},"returns":{"_0":"Whether the peer passed is considered 'trusted' by the OApp."}},"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":{"details":"Entry point for receiving messages or packets from the endpoint.Entry point for receiving msg/packet from the LayerZero endpoint.","params":{"_executor":"The address of the executor for the received message.","_extraData":"Additional arbitrary data provided by the corresponding executor.","_guid":"The unique identifier for the received LayerZero message.","_message":"The payload of the received message.","_origin":"The origin information containing the source endpoint and sender address.  - srcEid: The source chain endpoint ID.  - sender: The sender address on the src chain.  - nonce: The nonce of the message."}},"lzReceiveAndRevert(((uint32,bytes32,uint64),uint32,address,bytes32,uint256,address,bytes,bytes)[])":{"details":"Interface for pre-crime simulations. Always reverts at the end with the simulation results.WARNING: MUST revert at the end with the simulation results.Gives the preCrime implementation the ability to mock sending packets to the lzReceive function, WITHOUT actually executing them.","params":{"_packets":"An array of InboundPacket objects representing received packets to be delivered."}},"lzReceiveSimulate((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":{"details":"Is effectively an internal function because msg.sender must be address(this). Allows resetting the call stack for 'internal' calls.","params":{"_executor":"The executor address for the packet.","_extraData":"Additional data for the packet.","_guid":"The unique identifier of the packet.","_message":"The message payload of the packet.","_origin":"The origin information containing the source endpoint and sender address.  - srcEid: The source chain endpoint ID.  - sender: The sender address on the src chain.  - nonce: The nonce of the message."}},"nextNonce(uint32,bytes32)":{"details":"_srcEid The source endpoint ID._sender The sender address.The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.Is required by the off-chain executor to determine the OApp expects msg execution is ordered.This is also enforced by the OApp.By default this is NOT enabled. ie. nextNonce is hardcoded to return 0.","returns":{"nonce":"The next nonce."}},"oApp()":{"details":"Retrieves the address of the OApp contract.The simulator contract is the base contract for the OApp by default.If the simulator is a separate contract, override this function.","returns":{"_0":"The address of the OApp contract."}},"oAppVersion()":{"returns":{"receiverVersion":"The version of the OAppReceiver.sol implementation.","senderVersion":"The version of the OAppSenderAlt.sol implementation."}},"oftVersion()":{"details":"interfaceId: This specific interface ID is '0x02e49c2c'.version: Indicates a cross-chain compatible msg encoding with other OFTs.If a new feature is added to the OFT cross-chain msg encoding, the version will be incremented. ie. localOFT version(x,1) CAN send messages to remoteOFT version(x,1)","returns":{"interfaceId":"The interface ID.","version":"The version."}},"owner()":{"details":"Returns the address of the current owner."},"quoteOFT((uint32,bytes32,uint256,uint256,bytes,bytes,bytes))":{"params":{"_sendParam":"The parameters for the send operation."},"returns":{"oftFeeDetails":"The details of OFT fees.","oftLimit":"The OFT limit information.","oftReceipt":"The OFT receipt information."}},"quoteSend((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),bool)":{"details":"MessagingFee: LayerZero msg fee  - nativeFee: The native fee.  - lzTokenFee: The lzToken fee.","params":{"_payInLzToken":"Flag indicating whether the caller is paying in the LZ token.","_sendParam":"The parameters for the send() operation."},"returns":{"msgFee":"The calculated LayerZero messaging fee from the send() operation."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"send((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),(uint256,uint256),address)":{"details":"Executes the send operation.MessagingReceipt: LayerZero msg receipt  - guid: The unique identifier for the sent message.  - nonce: The nonce of the sent message.  - fee: The LayerZero fee incurred for the message.","params":{"_fee":"The calculated fee for the send() operation.      - nativeFee: The native fee.      - lzTokenFee: The lzToken fee.","_refundAddress":"The address to receive any excess funds.","_sendParam":"The parameters for the send operation."},"returns":{"msgReceipt":"The receipt for the send operation.","oftReceipt":"The OFT receipt information."}},"setDelegate(address)":{"details":"Only the owner/admin of the OApp can call this function.Provides the ability for a delegate to set configs, on behalf of the OApp, directly on the Endpoint contract.","params":{"_delegate":"The address of the delegate to be set."}},"setEnforcedOptions((uint32,uint16,bytes)[])":{"details":"Sets the enforced options for specific endpoint and message type combinations.Only the owner/admin of the OApp can call this function.Provides a way for the OApp to enforce things like paying for PreCrime, AND/OR minimum dst lzReceive gas amounts etc.These enforced options can vary as the potential options/execution on the remote may differ as per the msgType. eg. Amount of lzReceive() gas necessary to deliver a lzCompose() message adds overhead you dont want to pay if you are only making a standard LayerZero message ie. lzReceive() WITHOUT sendCompose().","params":{"_enforcedOptions":"An array of EnforcedOptionParam structures specifying enforced options."}},"setMsgInspector(address)":{"details":"Sets the message inspector address for the OFT.This is an optional contract that can be used to inspect both 'message' and 'options'.Set it to address(0) to disable it, or set it to a contract address to enable it.","params":{"_msgInspector":"The address of the message inspector."}},"setPeer(uint32,bytes32)":{"details":"Only the owner/admin of the OApp can call this function.Indicates that the peer is trusted to send LayerZero messages to this OApp.Set this to bytes32(0) to remove the peer address.Peer is a bytes32 to accommodate non-evm chains.","params":{"_eid":"The endpoint ID.","_peer":"The address of the peer to be associated with the corresponding endpoint."}},"setPreCrime(address)":{"details":"Sets the preCrime contract address.","params":{"_preCrime":"The address of the preCrime contract."}},"sharedDecimals()":{"details":"Retrieves the shared decimals of the OFT.Sets an implicit cap on the amount of tokens, over uint64.max() will need some sort of outbound cap / totalSupply cap Lowest common decimal denominator between chains. Defaults to 6 decimal places to provide up to 18,446,744,073,709.551615 units (max uint64). For tokens exceeding this totalSupply(), they will need to override the sharedDecimals function with something smaller. ie. 4 sharedDecimals would be 1,844,674,407,370,955.1615","returns":{"_0":"The shared decimals of the OFT."}},"token()":{"details":"Retrieves the address of the underlying ERC20 implementation.In the case of OFTAdapter, address(this) and erc20 are NOT the same contract.","returns":{"_0":"The address of the adapted ERC-20 token."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"allowInitializePath((uint32,bytes32,uint64))":{"notice":"Checks if the path initialization is allowed based on the provided origin."},"approvalRequired()":{"notice":"Indicates whether the OFT contract requires approval of the 'token()' to send."},"combineOptions(uint32,uint16,bytes)":{"notice":"Combines options for a given endpoint and message type."},"endpoint()":{"notice":"Retrieves the LayerZero endpoint associated with the OApp."},"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":{"notice":"Indicates whether an address is an approved composeMsg sender to the Endpoint."},"nextNonce(uint32,bytes32)":{"notice":"Retrieves the next nonce for a given source endpoint and sender address."},"oAppVersion()":{"notice":"Retrieves the OAppAlt version information."},"oftVersion()":{"notice":"Retrieves interfaceID and the version of the OFT."},"peers(uint32)":{"notice":"Retrieves the peer (OApp) associated with a corresponding endpoint."},"quoteOFT((uint32,bytes32,uint256,uint256,bytes,bytes,bytes))":{"notice":"Provides a quote for OFT-related operations."},"quoteSend((uint32,bytes32,uint256,uint256,bytes,bytes,bytes),bool)":{"notice":"Provides a quote for the send() operation."},"setDelegate(address)":{"notice":"Sets the delegate address for the OApp."},"setPeer(uint32,bytes32)":{"notice":"Sets the peer address (OApp instance) for a corresponding endpoint."}},"version":1}},"settings":{"remappings":["@layerzerolabs/=node_modules/@layerzerolabs/","@openzeppelin/=node_modules/@openzeppelin/","ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/","forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/","solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/mocks/OFTAdapterAltMock.sol":"OFTAdapterAltMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"contracts/OFTAdapterAlt.sol":{"keccak256":"0x83f611ca939c3133841af7688a5588547287f7ab63607418092c739014df483c","urls":["bzz-raw://fd7cb69514a95b04545b1c1f615f6b9a432c4ec4932e41b667762449d71e6501","dweb:/ipfs/QmQZNHazwDZCXbBXXN6L5YwtG8mnDmmAetJzpQELw2gmhC"],"license":"MIT"},"contracts/OFTAltCore.sol":{"keccak256":"0x35411d8b7208e05dc20d6c55f07311ad8b3c774449253e09a30aae1c8641e7bb","urls":["bzz-raw://8115bd2d5a02eabf38872b46e59df892c310b2fa5560e5ad4a606c17c6a2e6f4","dweb:/ipfs/QmecqPx8QFxz9ZYLfTUFzxT2sXQmUcyUwRdxYKa6CCwuGK"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol":{"keccak256":"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3","urls":["bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083","dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroReceiver.sol":{"keccak256":"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0","urls":["bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933","dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLib.sol":{"keccak256":"0x5cf5f24751b4e3ea1c9c5ded07cedfdfd62566b6daaffcc0144733859c9dba0c","urls":["bzz-raw://cae7e35007a714f007ea08045ef7c0cfa6c91fd2425b5028b2d49abad357a5f0","dweb:/ipfs/QmcDBs5tsiyB35b8cwzWQWNnpkawb3uuHRaqE77Hxm2tve"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLibManager.sol":{"keccak256":"0x919b37133adff4dc528e3061deb2789c3149971b530c61e556fb3d09ab315dfc","urls":["bzz-raw://d8ff6a8a89297fa127f86b54e0db3eba1d6a6eeb4f6398d3c84d569665ac8f1b","dweb:/ipfs/QmVSwhw6xFDrLRAX4RXaCM47yBaBtac4wf36DYEq6KCTvT"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingChannel.sol":{"keccak256":"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972","urls":["bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927","dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.sol":{"keccak256":"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901","urls":["bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d","dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingContext.sol":{"keccak256":"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e","urls":["bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6","dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ISendLib.sol":{"keccak256":"0xf1c07bc61e7b1dce195ed12d50f87980fbf2d63cac1326fd28287f55fe0ba625","urls":["bzz-raw://060f10ff7afc33c1c2f2b4b5ba29231fd3c943146488084d0e4ab99fce991d97","dweb:/ipfs/QmaSsefAqqEqtf8FgFUmDYMwTsAty3X1pqDb6SiFvry6B3"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/AddressCast.sol":{"keccak256":"0x2ebbcaaab3554edcd41b581f1a72ac1806afbfb8047d0d47ff098f9af30d6deb","urls":["bzz-raw://2d4b2cf5c3b16dc76c6767f285b57c0af917972327b2be3f7cba5825402f5fc1","dweb:/ipfs/QmQQWiHE2jKEDbjzGutSoZwtApSXYfLqZt5CxEpFj8xyvT"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/PacketV1Codec.sol":{"keccak256":"0xc84cf1bf785977fe1fbe7566eef902c2db68d0e163813ebe6c34921754802680","urls":["bzz-raw://de686666fc16fa432d4208d85cec87dc952faf3e481b683b9adf4b4610db4b09","dweb:/ipfs/QmdmQeopzmxqRzi9DNB4EJDrYUXFfD7fUhnGhSni4QejUW"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/oapp-alt-evm/contracts/oapp/OAppAlt.sol":{"keccak256":"0xbe02609f15066d507c857389271a1bc0935a201a91adc4402eac957a353975f7","urls":["bzz-raw://df92bda5b2954f96f8055a6f2abc5aa08ae4811eea2fd4516d539352230dbcea","dweb:/ipfs/QmdX84h7wvKZ3aN5HPRPZTr8vwXXTVR6RY79KbiDSdModG"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-alt-evm/contracts/oapp/OAppSenderAlt.sol":{"keccak256":"0x484947570c20054c628516bbfe2a7ce7dd7fa01cd8af094aaf6a2efefc11c449","urls":["bzz-raw://6c6f9a7038e88b637f63dd6088e0344ee636985c6c9f3cf12fb3bfec6e8b6deb","dweb:/ipfs/QmXAE2XQn7PH4DsiCMDfyAVacftrTUphfecN3oiVtPtpqy"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/OAppCore.sol":{"keccak256":"0x13a9c2d1d2c1f086b8624f2e84c4a4702212daae36f701d92bb915b535cbe4cc","urls":["bzz-raw://606515dd9193551bd2c94ac8c304f3776fafcc70e544ebf441f334658b2fd5f0","dweb:/ipfs/QmZ88ey7DdZqV5taAoebabvszX5kdPMSrQCAmTteVdDtcH"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/OAppReceiver.sol":{"keccak256":"0x0174e9f1ec4cefe4b5adc26c392269c699b9ff75965364e5b7264426a462c70b","urls":["bzz-raw://cd12bb4fe5802c53911b9a0081a2ea10639b1f99925d1e5c1b1421d1bdc17075","dweb:/ipfs/QmZonarwbKiEwQ8qoASKur2bbMjusdy9pqK9RCR4P1YPtc"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/OAppSender.sol":{"keccak256":"0x518cf4adca601923ed4baa6619846a253ea32b8d8775f8bc1faa3dfac7f67c20","urls":["bzz-raw://d42b471418efadcc3577ef3fa9f8f504e8bed7db90c3b0c862038d8b29529eb2","dweb:/ipfs/QmZETDQiJN4U92fmLKo8T9ZbdDf7BNBUUvo9H7M7GqAyFU"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppCore.sol":{"keccak256":"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58","urls":["bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd","dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppMsgInspector.sol":{"keccak256":"0x339654e699043c400cad92de209aa23855ce10211c31cf4114042cc5224d3b7c","urls":["bzz-raw://5222afde59bf086f67b39e0288ad36343f4f5ed683d250533f256a5db956f37e","dweb:/ipfs/QmbEG9EMYsK3Y6Cz7QbNtkW4kHGzMuhp2y2seSoL8v1A5b"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppOptionsType3.sol":{"keccak256":"0x9fc08a51e9d7c9c710c4eb26f84fe77228305ad7da63fa486ff24ebf2f3bc461","urls":["bzz-raw://2e2eea8a93bb9fc3f629767118b362e9b4bda2443ff95eae21c6a894f3e334cc","dweb:/ipfs/QmPRRNjAB4U19ke4gr3U7ZJGtdcVBxdXVBZ2BmB1riFkP7"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.sol":{"keccak256":"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d","urls":["bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2","dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/libs/OAppOptionsType3.sol":{"keccak256":"0x5275636cd47e660a2fdf6c7fe9d41ff3cc866b785cc8a9d88c1b8ca983509f01","urls":["bzz-raw://a59dd6e3cfcc332f45a13d44585eb228588c4b9d470cbb19852df5753a4571af","dweb:/ipfs/QmQJF1QU3MKhvmw42eq61u9z3bzKJJKMsEdQVYyPyYgTVS"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/OAppPreCrimeSimulator.sol":{"keccak256":"0x205a0abfd8b3c9af2740769f251381b84999b8e9347f3cd50de3ef8290a17750","urls":["bzz-raw://d9778d7d5da941af2029410b6ac212f915ea1785573ae2865b0ed8f779fcca82","dweb:/ipfs/QmNkVEkfecvgubgnMuaT5fEfSExd95vz8DQHhpZtMrVRjH"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol":{"keccak256":"0x5d24db150949ea8e6437178e65a942e8c8b7f332e5daf32750f56b23b35b5bb2","urls":["bzz-raw://1b1dcea0267234654126f926a1b405743606d7b5e49185b621afb7bd94d18b9a","dweb:/ipfs/QmZ9BXQmbWJcrhHKuBs4yhNtbCV5WUpUY3AXSX7rkWwX6y"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.sol":{"keccak256":"0xc8d869f27ef8ceb2e13fdf6a70682fd4dee3f90c4924eb8e125bc1e66cb6af84","urls":["bzz-raw://66bf49d59c14832ea0ddddcd12d512d4f9bd0fd254a1368442587bf3e77fe73e","dweb:/ipfs/QmYUAvsyuUPiSYjbL4zVo6ZtiRSLCUPDvCesqgdZWbSGDg"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/libs/Packet.sol":{"keccak256":"0xcb2fb1c5b2eb3731de78b479b9c2ab3bba326fe0b0b3a008590f18e881e457a6","urls":["bzz-raw://f70724c61d226743c2bd8ba6c09758805e4339780978949ce5b333c106be4edc","dweb:/ipfs/QmX5rV9K1N7RgTz9xtf8CDG8SrYiitGAzFh9ec2tbnEec4"],"license":"MIT"},"node_modules/@layerzerolabs/oft-evm/contracts/interfaces/IOFT.sol":{"keccak256":"0x7ba6bb62fba7ee83451cfb0e727ddeef0e96b4388bd4e9ff0fc6ce103e1101c8","urls":["bzz-raw://cfbd447f2e8a730bd46a14c3c3e6a0b2bf7446145579603a9793ba5ac1dd38b4","dweb:/ipfs/QmZ4nx4iGrFmBHvYFgki5TXFdCHz4Co38hgdgwpRaM7NLs"],"license":"MIT"},"node_modules/@layerzerolabs/oft-evm/contracts/libs/OFTComposeMsgCodec.sol":{"keccak256":"0xaae73d6eb8b9561c43f1802f3c416c00ccd35f172b711f9781ccdf1b25a40db5","urls":["bzz-raw://7beda2d895ae9e15269dd261a492ce0a29b498e5bebf088ed6f2ae6a5185719e","dweb:/ipfs/QmScog2tW1YVyEPLVcUVqGGc85ub46sA28nUKNzFEZcFdK"],"license":"MIT"},"node_modules/@layerzerolabs/oft-evm/contracts/libs/OFTMsgCodec.sol":{"keccak256":"0x5358948017669c03e157f871d8c38e988f9004dbd0801ad3119d2487f0d40b0b","urls":["bzz-raw://c7d0f1bf32a80af9b99cd93fefa373dac5c27463351cc35f62b9c2439d5b9258","dweb:/ipfs/Qmb81qoxzMwV3PkPANRvnXf4fJTsZ5sjJ8r2df9V2vhh6q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"test/mocks/OFTAdapterAltMock.sol":{"keccak256":"0x85b14e9275e91b4242294002d3873f8c5bcb2a8a6fce0903d14f389af46b3803","urls":["bzz-raw://ce187589c9a11f85a5f54c261931a4571b23ec0e887b118e89c139305ef6b5b8","dweb:/ipfs/QmQR7E9QTfvA3AXwQBmVGa9SH6ASYWWFczWytNvSnH1xdD"],"license":"UNLICENSED"}},"version":1},"id":139}