@layerzerolabs/oapp-evm-upgradeable
Version:
LayerZero Labs reference EVM OmniChain Application (OApp) implementation
1 lines • 74 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_priceUpdater","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ARBITRUM_COMPRESSION_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"arbitrumPriceExt","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct ILayerZeroPriceFeed.ArbitrumPriceExt","components":[{"name":"gasPerL2Tx","type":"uint64","internalType":"uint64"},{"name":"gasPerL1CallDataByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"endpoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ILayerZeroEndpointV2"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeByChain","inputs":[{"name":"_dstEid","type":"uint16","internalType":"uint16"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"priceRatio","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeByEid","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"estimateFeeOnSend","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_callDataSize","type":"uint256","internalType":"uint256"},{"name":"_gas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"payable"},{"type":"function","name":"getFee","inputs":[{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPrice","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getPrice","inputs":[{"name":"_dstEid","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getPriceRatioDenominator","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"nativeTokenPriceUSD","inputs":[],"outputs":[{"name":"","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"priceUpdater","inputs":[{"name":"updater","type":"address","internalType":"address"}],"outputs":[{"name":"active","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrumCompressionPercent","inputs":[{"name":"_compressionPercent","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEndpoint","inputs":[{"name":"_endpoint","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNativeTokenPriceUSD","inputs":[{"name":"_nativeTokenPriceUSD","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrice","inputs":[{"name":"_price","type":"tuple[]","internalType":"struct ILayerZeroPriceFeed.UpdatePrice[]","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceForArbitrum","inputs":[{"name":"_update","type":"tuple","internalType":"struct ILayerZeroPriceFeed.UpdatePriceExt","components":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"price","type":"tuple","internalType":"struct ILayerZeroPriceFeed.Price","components":[{"name":"priceRatio","type":"uint128","internalType":"uint128"},{"name":"gasPriceInUnit","type":"uint64","internalType":"uint64"},{"name":"gasPerByte","type":"uint32","internalType":"uint32"}]},{"name":"extend","type":"tuple","internalType":"struct ILayerZeroPriceFeed.ArbitrumPriceExt","components":[{"name":"gasPerL2Tx","type":"uint64","internalType":"uint64"},{"name":"gasPerL1CallDataByte","type":"uint32","internalType":"uint32"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceRatioDenominator","inputs":[{"name":"_denominator","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceUpdater","inputs":[{"name":"_addr","type":"address","internalType":"address"},{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawFee","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"LZ_PriceFeed_InsufficientFee","inputs":[{"name":"provided","type":"uint256","internalType":"uint256"},{"name":"required","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LZ_PriceFeed_NotAnOPStack","inputs":[{"name":"l2Eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"LZ_PriceFeed_OnlyPriceUpdater","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":"Transfer_NativeFailed","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Transfer_ToAddressIsZero","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060405161145738038061145783398101604081905261002e91610106565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c816100b7565b506001600160a01b03165f908152600260205260409020805460ff1916600190811790915580546001600160801b03191668056bc75e2d6310000017905560058054602f60801b6001600160801b0391909116179055610133565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610116575f80fd5b81516001600160a01b038116811461012c575f80fd5b9392505050565b611317806101405f395ff3fe60806040526004361061013c575f3560e01c80638ca2fb08116100b3578063d350ad251161006d578063d350ad2514610428578063da26663a14610447578063dbbb415514610506578063e0ad121a14610525578063f2fde38b146105ac578063fd9be522146105cb575f80fd5b80638ca2fb08146103475780638da5cb5b1461038557806392807f58146103a1578063c1723a1d146103d2578063c1840327146103e5578063cd68b79b14610402575f80fd5b80635d6d7ccb116101045780635d6d7ccb146102345780635e280f1114610253578063715018a61461028a5780637bc3c9ab1461029e5780637dc438a4146102da57806388a4124c146102f9575f80fd5b806311f2c343146101405780632f7cb0b4146101755780633161b7f61461019657806336a5beba146101b557806352a7251014610215575b5f80fd5b34801561014b575f80fd5b5061016261015a366004610fc4565b5f9392505050565b6040519081526020015b60405180910390f35b348015610180575f80fd5b5061019461018f36600461100a565b6105ea565b005b3480156101a1575f80fd5b506101946101b036600461102a565b610611565b3480156101c0575f80fd5b506040805180820182525f808252602091820152815180830183526004546001600160401b03811680835263ffffffff600160401b90920482169284019283528451908152915116918101919091520161016c565b348015610220575f80fd5b5061019461022f3660046110ae565b61074e565b34801561023f575f80fd5b5061019461024e36600461100a565b610780565b34801561025e575f80fd5b50600654610272906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b348015610295575f80fd5b506101946107f1565b3480156102a9575f80fd5b506102bd6102b83660046110f8565b610804565b604080519283526001600160801b0390911660208301520161016c565b3480156102e5575f80fd5b506101946102f4366004611113565b61089e565b348015610304575f80fd5b50610318610313366004610fc4565b61095b565b604080519485526001600160801b0393841660208601529183169184019190915216606082015260800161016c565b348015610352575f80fd5b50610375610361366004611129565b60026020525f908152604090205460ff1681565b604051901515815260200161016c565b348015610390575f80fd5b505f546001600160a01b0316610272565b3480156103ac575f80fd5b506005546001600160801b03165b6040516001600160801b03909116815260200161016c565b6103186103e0366004610fc4565b61097b565b3480156103f0575f80fd5b506001546001600160801b03166103ba565b34801561040d575f80fd5b506005546103ba90600160801b90046001600160801b031681565b348015610433575f80fd5b5061019461044236600461100a565b6109ab565b348015610452575f80fd5b506104cc610461366004611142565b60408051606080820183525f808352602080840182905292840181905263ffffffff94851681526003835283902083519182018452546001600160801b0381168252600160801b81046001600160401b031692820192909252600160c01b9091049092169082015290565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff169082015260600161016c565b348015610511575f80fd5b50610194610520366004611129565b6109d5565b348015610530575f80fd5b506104cc61053f36600461115b565b60408051606080820183525f808352602080840182905292840181905261ffff949094168452600382529282902082519384018352546001600160801b03811684526001600160401b03600160801b82041691840191909152600160c01b900463ffffffff169082015290565b3480156105b7575f80fd5b506101946105c6366004611129565b6109ff565b3480156105d6575f80fd5b506101946105e5366004611174565b610a3c565b6105f2610a52565b600580546001600160801b03928316600160801b029216919091179055565b336106235f546001600160a01b031690565b6001600160a01b03161461066057335f9081526002602052604090205460ff166106605760405163320ae52960e01b815260040160405180910390fd5b5f5b81811015610749573683838381811061067d5761067d61119c565b60800291909101915061074090506106986020830183611142565b6106aa368490038401602085016111c6565b805160208083015160409384015184516060810186526001600160801b0394851681526001600160401b0392831681850190815263ffffffff9283168288019081529783165f908152600390955295909320925183549551965194166001600160c01b031990951694909417600160801b95909116949094029390931763ffffffff60c01b1916600160c01b9190921602179055565b50600101610662565b505050565b610756610a52565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b336107925f546001600160a01b031690565b6001600160a01b0316146107cf57335f9081526002602052604090205460ff166107cf5760405163320ae52960e01b815260040160405180910390fd5b600580546001600160801b0319166001600160801b0392909216919091179055565b6107f9610a52565b6108025f610a7e565b565b5f808461ffff16606e148061081e57508461ffff1661279f145b8061082e57508461ffff16614eaf145b1561084b576108428561ffff168585610acd565b91509150610896565b8461ffff16606f148061086357508461ffff16612794145b8061087357508461ffff16614ea4145b15610887576108428561ffff168585610bd7565b6108428561ffff168585610d1e565b935093915050565b336108b05f546001600160a01b031690565b6001600160a01b0316146108ed57335f9081526002602052604090205460ff166108ed5760405163320ae52960e01b815260040160405180910390fd5b6108fd6106986020830183611142565b5f61090e60a083016080840161123b565b90505f61092160c0840160a08501611142565b6004805463ffffffff909216600160401b026bffffffffffffffffffffffff199092166001600160401b0390941693909317179091555050565b5f805f8061096a878787610dbc565b935093509350935093509350935093565b5f8080808061098e565b60405180910390fd5b610999888888610dbc565b94509450945094505093509350935093565b6109b3610a52565b600180546001600160801b0319166001600160801b0392909216919091179055565b6109dd610a52565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610a07610a52565b6001600160a01b038116610a3057604051631e4fbdf760e01b81525f6004820152602401610985565b610a3981610a7e565b50565b610a44610a52565b610a4e8282610e89565b5050565b5f546001600160a01b031633146108025760405163118cdaa760e01b8152336004820152602401610985565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b63ffffffff8381165f908152600360205260408120600454600554929384938492600160401b900490911690606490610b1690600160801b90046001600160801b031689611268565b610b209190611299565b610b2a9190611268565b82549091505f90610b4890600160c01b900463ffffffff1688611268565b83546004549192505f916001600160401b03600160801b90920482169184918691610b7491168b6112ac565b610b7e91906112ac565b610b8891906112ac565b610b929190611268565b60015485549192506001600160801b0390811691610bb1911683611268565b610bbb9190611299565b935493996001600160801b039094169850929650505050505050565b5f805f610be386610f32565b63ffffffff8082165f9081526003602052604081208054939450929091610c1291600160c01b90041688611268565b610c1e90610c746112ac565b82549091505f90610c3f90600160801b90046001600160401b031683611268565b63ffffffff808b165f9081526003602052604081208054939450929091610c6e91600160c01b9004168b611268565b82549091505f90600160801b90046001600160401b0316610c8f8b846112ac565b610c999190611268565b60015487549192505f916001600160801b0391821691610cba911687611268565b610cc49190611299565b60015485549192505f916001600160801b0391821691610ce5911685611268565b610cef9190611299565b90505f610cfc82846112ac565b9554959f6001600160801b039096169e50949c50505050505050505050505050565b63ffffffff8084165f9081526003602052604081208054919283928391610d4d91600160c01b90041687611268565b82549091505f90600160801b90046001600160401b0316610d6e87846112ac565b610d789190611268565b60015484549192506001600160801b0390811691610d97911683611268565b610da19190611299565b925492986001600160801b0390931697509195505050505050565b5f80808080610dcd617530896112bf565b90508063ffffffff16606e1480610deb57508063ffffffff1661279f145b80610dfd57508063ffffffff16614eaf145b15610e1757610e0d818888610acd565b9095509350610e66565b8063ffffffff16606f1480610e3357508063ffffffff16612794145b80610e4557508063ffffffff16614ea4145b15610e5557610e0d818888610bd7565b610e60818888610d1e565b90955093505b505060015460055493979296506001600160801b03908116955090921692509050565b6001600160a01b038216610eb0576040516306b7a93160e41b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ef9576040519150601f19603f3d011682016040523d82523d5f602084013e610efe565b606091505b505090508061074957604051631196f20d60e21b81526001600160a01b038416600482015260248101839052604401610985565b5f80610f40617530846112bf565b90508063ffffffff16606f03610f595750606592915050565b8063ffffffff1661279403610f72575061278992915050565b8063ffffffff16614ea403610f8b5750614e9992915050565b604051633d0b0cf760e21b815263ffffffff82166004820152602401610985565b803563ffffffff81168114610fbf575f80fd5b919050565b5f805f60608486031215610fd6575f80fd5b610fdf84610fac565b95602085013595506040909401359392505050565b80356001600160801b0381168114610fbf575f80fd5b5f6020828403121561101a575f80fd5b61102382610ff4565b9392505050565b5f806020838503121561103b575f80fd5b82356001600160401b0380821115611051575f80fd5b818501915085601f830112611064575f80fd5b813581811115611072575f80fd5b8660208260071b8501011115611086575f80fd5b60209290920196919550909350505050565b80356001600160a01b0381168114610fbf575f80fd5b5f80604083850312156110bf575f80fd5b6110c883611098565b9150602083013580151581146110dc575f80fd5b809150509250929050565b803561ffff81168114610fbf575f80fd5b5f805f6060848603121561110a575f80fd5b610fdf846110e7565b5f60c08284031215611123575f80fd5b50919050565b5f60208284031215611139575f80fd5b61102382611098565b5f60208284031215611152575f80fd5b61102382610fac565b5f6020828403121561116b575f80fd5b611023826110e7565b5f8060408385031215611185575f80fd5b61118e83611098565b946020939093013593505050565b634e487b7160e01b5f52603260045260245ffd5b80356001600160401b0381168114610fbf575f80fd5b5f606082840312156111d6575f80fd5b604051606081018181106001600160401b038211171561120457634e487b7160e01b5f52604160045260245ffd5b60405261121083610ff4565b815261121e602084016111b0565b602082015261122f60408401610fac565b60408201529392505050565b5f6020828403121561124b575f80fd5b611023826111b0565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761127f5761127f611254565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f826112a7576112a7611285565b500490565b8082018082111561127f5761127f611254565b5f63ffffffff808416806112d5576112d5611285565b9216919091069291505056fea2646970667358221220d7c5bf3bcb01b401c8dec1f002ae9aef1b32574f7bdf358d6608522ae721ce2a64736f6c63430008160033","sourceMap":"619:9549:75:-:0;;;1325:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1368:10;;1269:95:110;;1322:31;;-1:-1:-1;;;1322:31:110;;1350:1;1322:31;;;455:51:139;428:18;;1322:31:110;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;;;;;;1390:27:75::1;;::::0;;;:12:::1;:27;::::0;;;;:34;;-1:-1:-1;;1390:34:75::1;1420:4;1390:34:::0;;::::1;::::0;;;1434:30;;-1:-1:-1;;;;;;1434:30:75::1;1460:4;1434:30;::::0;;1474:28:::1;:33:::0;;-1:-1:-1;;;;;;;;1474:33:75;;;::::1;;::::0;;619:9549;;2912:187:110;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:110;;;-1:-1:-1;;;;;;3020:17:110;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:139:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:139;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:139:o;309:203::-;619:9549:75;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061013c575f3560e01c80638ca2fb08116100b3578063d350ad251161006d578063d350ad2514610428578063da26663a14610447578063dbbb415514610506578063e0ad121a14610525578063f2fde38b146105ac578063fd9be522146105cb575f80fd5b80638ca2fb08146103475780638da5cb5b1461038557806392807f58146103a1578063c1723a1d146103d2578063c1840327146103e5578063cd68b79b14610402575f80fd5b80635d6d7ccb116101045780635d6d7ccb146102345780635e280f1114610253578063715018a61461028a5780637bc3c9ab1461029e5780637dc438a4146102da57806388a4124c146102f9575f80fd5b806311f2c343146101405780632f7cb0b4146101755780633161b7f61461019657806336a5beba146101b557806352a7251014610215575b5f80fd5b34801561014b575f80fd5b5061016261015a366004610fc4565b5f9392505050565b6040519081526020015b60405180910390f35b348015610180575f80fd5b5061019461018f36600461100a565b6105ea565b005b3480156101a1575f80fd5b506101946101b036600461102a565b610611565b3480156101c0575f80fd5b506040805180820182525f808252602091820152815180830183526004546001600160401b03811680835263ffffffff600160401b90920482169284019283528451908152915116918101919091520161016c565b348015610220575f80fd5b5061019461022f3660046110ae565b61074e565b34801561023f575f80fd5b5061019461024e36600461100a565b610780565b34801561025e575f80fd5b50600654610272906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b348015610295575f80fd5b506101946107f1565b3480156102a9575f80fd5b506102bd6102b83660046110f8565b610804565b604080519283526001600160801b0390911660208301520161016c565b3480156102e5575f80fd5b506101946102f4366004611113565b61089e565b348015610304575f80fd5b50610318610313366004610fc4565b61095b565b604080519485526001600160801b0393841660208601529183169184019190915216606082015260800161016c565b348015610352575f80fd5b50610375610361366004611129565b60026020525f908152604090205460ff1681565b604051901515815260200161016c565b348015610390575f80fd5b505f546001600160a01b0316610272565b3480156103ac575f80fd5b506005546001600160801b03165b6040516001600160801b03909116815260200161016c565b6103186103e0366004610fc4565b61097b565b3480156103f0575f80fd5b506001546001600160801b03166103ba565b34801561040d575f80fd5b506005546103ba90600160801b90046001600160801b031681565b348015610433575f80fd5b5061019461044236600461100a565b6109ab565b348015610452575f80fd5b506104cc610461366004611142565b60408051606080820183525f808352602080840182905292840181905263ffffffff94851681526003835283902083519182018452546001600160801b0381168252600160801b81046001600160401b031692820192909252600160c01b9091049092169082015290565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff169082015260600161016c565b348015610511575f80fd5b50610194610520366004611129565b6109d5565b348015610530575f80fd5b506104cc61053f36600461115b565b60408051606080820183525f808352602080840182905292840181905261ffff949094168452600382529282902082519384018352546001600160801b03811684526001600160401b03600160801b82041691840191909152600160c01b900463ffffffff169082015290565b3480156105b7575f80fd5b506101946105c6366004611129565b6109ff565b3480156105d6575f80fd5b506101946105e5366004611174565b610a3c565b6105f2610a52565b600580546001600160801b03928316600160801b029216919091179055565b336106235f546001600160a01b031690565b6001600160a01b03161461066057335f9081526002602052604090205460ff166106605760405163320ae52960e01b815260040160405180910390fd5b5f5b81811015610749573683838381811061067d5761067d61119c565b60800291909101915061074090506106986020830183611142565b6106aa368490038401602085016111c6565b805160208083015160409384015184516060810186526001600160801b0394851681526001600160401b0392831681850190815263ffffffff9283168288019081529783165f908152600390955295909320925183549551965194166001600160c01b031990951694909417600160801b95909116949094029390931763ffffffff60c01b1916600160c01b9190921602179055565b50600101610662565b505050565b610756610a52565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b336107925f546001600160a01b031690565b6001600160a01b0316146107cf57335f9081526002602052604090205460ff166107cf5760405163320ae52960e01b815260040160405180910390fd5b600580546001600160801b0319166001600160801b0392909216919091179055565b6107f9610a52565b6108025f610a7e565b565b5f808461ffff16606e148061081e57508461ffff1661279f145b8061082e57508461ffff16614eaf145b1561084b576108428561ffff168585610acd565b91509150610896565b8461ffff16606f148061086357508461ffff16612794145b8061087357508461ffff16614ea4145b15610887576108428561ffff168585610bd7565b6108428561ffff168585610d1e565b935093915050565b336108b05f546001600160a01b031690565b6001600160a01b0316146108ed57335f9081526002602052604090205460ff166108ed5760405163320ae52960e01b815260040160405180910390fd5b6108fd6106986020830183611142565b5f61090e60a083016080840161123b565b90505f61092160c0840160a08501611142565b6004805463ffffffff909216600160401b026bffffffffffffffffffffffff199092166001600160401b0390941693909317179091555050565b5f805f8061096a878787610dbc565b935093509350935093509350935093565b5f8080808061098e565b60405180910390fd5b610999888888610dbc565b94509450945094505093509350935093565b6109b3610a52565b600180546001600160801b0319166001600160801b0392909216919091179055565b6109dd610a52565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b610a07610a52565b6001600160a01b038116610a3057604051631e4fbdf760e01b81525f6004820152602401610985565b610a3981610a7e565b50565b610a44610a52565b610a4e8282610e89565b5050565b5f546001600160a01b031633146108025760405163118cdaa760e01b8152336004820152602401610985565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b63ffffffff8381165f908152600360205260408120600454600554929384938492600160401b900490911690606490610b1690600160801b90046001600160801b031689611268565b610b209190611299565b610b2a9190611268565b82549091505f90610b4890600160c01b900463ffffffff1688611268565b83546004549192505f916001600160401b03600160801b90920482169184918691610b7491168b6112ac565b610b7e91906112ac565b610b8891906112ac565b610b929190611268565b60015485549192506001600160801b0390811691610bb1911683611268565b610bbb9190611299565b935493996001600160801b039094169850929650505050505050565b5f805f610be386610f32565b63ffffffff8082165f9081526003602052604081208054939450929091610c1291600160c01b90041688611268565b610c1e90610c746112ac565b82549091505f90610c3f90600160801b90046001600160401b031683611268565b63ffffffff808b165f9081526003602052604081208054939450929091610c6e91600160c01b9004168b611268565b82549091505f90600160801b90046001600160401b0316610c8f8b846112ac565b610c999190611268565b60015487549192505f916001600160801b0391821691610cba911687611268565b610cc49190611299565b60015485549192505f916001600160801b0391821691610ce5911685611268565b610cef9190611299565b90505f610cfc82846112ac565b9554959f6001600160801b039096169e50949c50505050505050505050505050565b63ffffffff8084165f9081526003602052604081208054919283928391610d4d91600160c01b90041687611268565b82549091505f90600160801b90046001600160401b0316610d6e87846112ac565b610d789190611268565b60015484549192506001600160801b0390811691610d97911683611268565b610da19190611299565b925492986001600160801b0390931697509195505050505050565b5f80808080610dcd617530896112bf565b90508063ffffffff16606e1480610deb57508063ffffffff1661279f145b80610dfd57508063ffffffff16614eaf145b15610e1757610e0d818888610acd565b9095509350610e66565b8063ffffffff16606f1480610e3357508063ffffffff16612794145b80610e4557508063ffffffff16614ea4145b15610e5557610e0d818888610bd7565b610e60818888610d1e565b90955093505b505060015460055493979296506001600160801b03908116955090921692509050565b6001600160a01b038216610eb0576040516306b7a93160e41b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ef9576040519150601f19603f3d011682016040523d82523d5f602084013e610efe565b606091505b505090508061074957604051631196f20d60e21b81526001600160a01b038416600482015260248101839052604401610985565b5f80610f40617530846112bf565b90508063ffffffff16606f03610f595750606592915050565b8063ffffffff1661279403610f72575061278992915050565b8063ffffffff16614ea403610f8b5750614e9992915050565b604051633d0b0cf760e21b815263ffffffff82166004820152602401610985565b803563ffffffff81168114610fbf575f80fd5b919050565b5f805f60608486031215610fd6575f80fd5b610fdf84610fac565b95602085013595506040909401359392505050565b80356001600160801b0381168114610fbf575f80fd5b5f6020828403121561101a575f80fd5b61102382610ff4565b9392505050565b5f806020838503121561103b575f80fd5b82356001600160401b0380821115611051575f80fd5b818501915085601f830112611064575f80fd5b813581811115611072575f80fd5b8660208260071b8501011115611086575f80fd5b60209290920196919550909350505050565b80356001600160a01b0381168114610fbf575f80fd5b5f80604083850312156110bf575f80fd5b6110c883611098565b9150602083013580151581146110dc575f80fd5b809150509250929050565b803561ffff81168114610fbf575f80fd5b5f805f6060848603121561110a575f80fd5b610fdf846110e7565b5f60c08284031215611123575f80fd5b50919050565b5f60208284031215611139575f80fd5b61102382611098565b5f60208284031215611152575f80fd5b61102382610fac565b5f6020828403121561116b575f80fd5b611023826110e7565b5f8060408385031215611185575f80fd5b61118e83611098565b946020939093013593505050565b634e487b7160e01b5f52603260045260245ffd5b80356001600160401b0381168114610fbf575f80fd5b5f606082840312156111d6575f80fd5b604051606081018181106001600160401b038211171561120457634e487b7160e01b5f52604160045260245ffd5b60405261121083610ff4565b815261121e602084016111b0565b602082015261122f60408401610fac565b60408201529392505050565b5f6020828403121561124b575f80fd5b611023826111b0565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761127f5761127f611254565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f826112a7576112a7611285565b500490565b8082018082111561127f5761127f611254565b5f63ffffffff808416806112d5576112d5611285565b9216919091069291505056fea2646970667358221220d7c5bf3bcb01b401c8dec1f002ae9aef1b32574f7bdf358d6608522ae721ce2a64736f6c63430008160033","sourceMap":"619:9549:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:136;;;;;;;;;;-1:-1:-1;4108:136:75;;;;;:::i;:::-;4210:7;4108:136;;;;;;;;;653:25:139;;;641:2;626:18;4108:136:75;;;;;;;;2197:154;;;;;;;;;;-1:-1:-1;2197:154:75;;;;;:::i;:::-;;:::i;:::-;;2695:251;;;;;;;;;;-1:-1:-1;2695:251:75;;;;;:::i;:::-;;:::i;4599:117::-;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;4685:24:75;;;;;;;4692:17;4685:24;-1:-1:-1;;;;;4685:24:75;;;;;;-1:-1:-1;;;4685:24:75;;;;;;;;;;;4599:117;;1938:57:139;;;2037:24;;2033:41;2011:20;;;2004:71;;;;1911:18;4599:117:75;1724:357:139;1936:119:75;;;;;;;;;;-1:-1:-1;1936:119:75;;;;;:::i;:::-;;:::i;3354:143::-;;;;;;;;;;-1:-1:-1;3354:143:75;;;;;:::i;:::-;;:::i;1140:36::-;;;;;;;;;;-1:-1:-1;1140:36:75;;;;-1:-1:-1;;;;;1140:36:75;;;;;;-1:-1:-1;;;;;2810:32:139;;;2792:51;;2780:2;2765:18;1140:36:75;2616:233:139;2293:101:110;;;;;;;;;;;;;:::i;5539:587:75:-;;;;;;;;;;-1:-1:-1;5539:587:75;;;;;:::i;:::-;;:::i;:::-;;;;3517:25:139;;;-1:-1:-1;;;;;3578:47:139;;;3573:2;3558:18;;3551:75;3490:18;5539:587:75;3343:289:139;2952:396:75;;;;;;;;;;-1:-1:-1;2952:396:75;;;;;:::i;:::-;;:::i;4977:239::-;;;;;;;;;;-1:-1:-1;4977:239:75;;;;;:::i;:::-;;:::i;:::-;;;;4074:25:139;;;-1:-1:-1;;;;;4188:15:139;;;4183:2;4168:18;;4161:43;4240:15;;;4220:18;;;4213:43;;;;4292:15;4287:2;4272:18;;4265:43;4061:3;4046:19;4977:239:75;3843:471:139;747:59:75;;;;;;;;;;-1:-1:-1;747:59:75;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4675:14:139;;4668:22;4650:41;;4638:2;4623:18;747:59:75;4510:187:139;1638:85:110;;;;;;;;;;-1:-1:-1;1684:7:110;1710:6;-1:-1:-1;;;;;1710:6:110;1638:85;;4431:102:75;;;;;;;;;;-1:-1:-1;4511:15:75;;-1:-1:-1;;;;;4511:15:75;4431:102;;;-1:-1:-1;;;;;5074:47:139;;;5056:66;;5044:2;5029:18;4431:102:75;4910:218:139;3587:385:75;;;;;;:::i;:::-;;:::i;4250:115::-;;;;;;;;;;-1:-1:-1;4335:23:75;;-1:-1:-1;;;;;4335:23:75;4250:115;;1090:43;;;;;;;;;;-1:-1:-1;1090:43:75;;;;-1:-1:-1;;;1090:43:75;;-1:-1:-1;;;;;1090:43:75;;;2061:130;;;;;;;;;;-1:-1:-1;2061:130:75;;;;;:::i;:::-;;:::i;4782:129::-;;;;;;;;;;-1:-1:-1;4782:129:75;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;4877:27:75;;;;;;:18;:27;;;;;4869:35;;;;;;;;-1:-1:-1;;;;;4869:35:75;;;;-1:-1:-1;;;4869:35:75;;-1:-1:-1;;;;;4869:35:75;;;;;;;;-1:-1:-1;;;4869:35:75;;;;;;;;;;;4782:129;;;;;5536:13:139;;-1:-1:-1;;;;;5532:54:139;5514:73;;5647:4;5635:17;;;5629:24;-1:-1:-1;;;;;5625:49:139;5603:20;;;5596:79;5723:17;;;5717:24;5743:10;5713:41;5691:20;;;5684:71;5502:2;5487:18;4782:129:75;5322:439:139;2357:118:75;;;;;;;;;;-1:-1:-1;2357:118:75;;;;;:::i;:::-;;:::i;5313:129::-;;;;;;;;;;-1:-1:-1;5313:129:75;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;5408:27:75;;;;;;;:18;:27;;;;;;5400:35;;;;;;;;-1:-1:-1;;;;;5400:35:75;;;;-1:-1:-1;;;;;;;;5400:35:75;;;;;;;;;;-1:-1:-1;;;5400:35:75;;5408:27;5400:35;;;;;;5313:129;2543:215:110;;;;;;;;;;-1:-1:-1;2543:215:110;;;;;:::i;:::-;;:::i;2481:116:75:-;;;;;;;;;;-1:-1:-1;2481:116:75;;;;;:::i;:::-;;:::i;2197:154::-;1531:13:110;:11;:13::i;:::-;2294:28:75::1;:50:::0;;-1:-1:-1;;;;;2294:50:75;;::::1;-1:-1:-1::0;;;2294:50:75::1;::::0;::::1;::::0;;;::::1;::::0;;2197:154::o;2695:251::-;1690:10;1679:7;1684::110;1710:6;-1:-1:-1;;;;;1710:6:110;;1638:85;1679:7:75;-1:-1:-1;;;;;1679:21:75;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;-1:-1:-1;;;1772:31:75;;;;;;;;;;;1716:102;2785:9:::1;2780:160;2800:17:::0;;::::1;2780:160;;;2838:28;2869:6;;2876:1;2869:9;;;;;;;:::i;:::-;;;::::0;;;::::1;::::0;-1:-1:-1;2892:37:75::1;::::0;-1:-1:-1;2902:11:75::1;;::::0;::::1;2869:9:::0;2902:11:::1;:::i;:::-;2892:37;;::::0;;;;;2915:13:::1;::::0;::::1;2892:37;:::i;:::-;6317:17:::0;;6368:21;;;;;6419:17;;;;;6476:45;;;;;;;-1:-1:-1;;;;;6476:45:75;;;;;-1:-1:-1;;;;;6476:45:75;;;;;;;;;;;;;;;;;;;6446:27;;;-1:-1:-1;6446:27:75;;;:18;:27;;;;;;;:75;;;;;;;;;;-1:-1:-1;;;;;;6446:75:75;;;;;;;-1:-1:-1;;;6446:75:75;;;;;;;;;;;;-1:-1:-1;;;;6446:75:75;-1:-1:-1;;;6446:75:75;;;;;;;;6221:307;2892:37:::1;-1:-1:-1::0;2819:3:75::1;;2780:160;;;;2695:251:::0;;:::o;1936:119::-;1531:13:110;:11;:13::i;:::-;-1:-1:-1;;;;;2019:19:75;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;2019:29:75::1;::::0;::::1;;::::0;;;::::1;::::0;;1936:119::o;3354:143::-;1690:10;1679:7;1684::110;1710:6;-1:-1:-1;;;;;1710:6:110;;1638:85;1679:7:75;-1:-1:-1;;;;;1679:21:75;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;-1:-1:-1;;;1772:31:75;;;;;;;;;;;1716:102;3452:15:::1;:38:::0;;-1:-1:-1;;;;;;3452:38:75::1;-1:-1:-1::0;;;;;3452:38:75;;;::::1;::::0;;;::::1;::::0;;3354:143::o;2293:101:110:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5539:587:75:-;5673:11;5686:18;5720:7;:14;;5731:3;5720:14;:34;;;;5738:7;:16;;5749:5;5738:16;5720:34;:54;;;;5758:7;:16;;5769:5;5758:16;5720:54;5716:404;;;5797:59;5827:7;5797:59;;5836:13;5851:4;5797:29;:59::i;:::-;5790:66;;;;;;5716:404;5877:7;:14;;5888:3;5877:14;:34;;;;5895:7;:16;;5906:5;5895:16;5877:34;:54;;;;5915:7;:16;;5926:5;5915:16;5877:54;5873:247;;;5954:59;5984:7;5954:59;;5993:13;6008:4;5954:29;:59::i;5873:247::-;6051:58;6080:7;6051:58;;6089:13;6104:4;6051:28;:58::i;5873:247::-;5539:587;;;;;;:::o;2952:396::-;1690:10;1679:7;1684::110;1710:6;-1:-1:-1;;;;;1710:6:110;;1638:85;1679:7:75;-1:-1:-1;;;;;1679:21:75;;1675:153;;1734:10;1721:24;;;;:12;:24;;;;;;;;1716:102;;1772:31;;-1:-1:-1;;;1772:31:75;;;;;;;;;;;1716:102;3050:37:::1;3060:11;;::::0;::::1;:7:::0;:11:::1;:::i;3050:37::-;3098:17;3118:25;::::0;;;:14:::1;::::0;::::1;:25;:::i;:::-;3098:45:::0;-1:-1:-1;3153:27:75::1;3183:35;::::0;;;;;;::::1;:::i;:::-;3229:17;:41:::0;;3280:61:::1;::::0;;::::1;-1:-1:-1::0;;;3280:61:75::1;-1:-1:-1::0;;3280:61:75;;;-1:-1:-1;;;;;3229:41:75;;::::1;3280:61:::0;;;;::::1;::::0;;;-1:-1:-1;;2952:396:75:o;4977:239::-;5109:7;5118;5127;5136;5162:47;5180:7;5189:13;5204:4;5162:17;:47::i;:::-;5155:54;;;;;;;;4977:239;;;;;;;:::o;3587:385::-;3723:7;;;;;3829:72;;3857:44;;;;;;;;3829:72;3918:47;3936:7;3945:13;3960:4;3918:17;:47::i;:::-;3911:54;;;;;;;;;3587:385;;;;;;;:::o;2061:130::-;1531:13:110;:11;:13::i;:::-;2146:23:75::1;:38:::0;;-1:-1:-1;;;;;;2146:38:75::1;-1:-1:-1::0;;;;;2146:38:75;;;::::1;::::0;;;::::1;::::0;;2061:130::o;2357:118::-;1531:13:110;:11;:13::i;:::-;2426:8:75::1;:42:::0;;-1:-1:-1;;;;;;2426:42:75::1;-1:-1:-1::0;;;;;2426:42:75;;;::::1;::::0;;;::::1;::::0;;2357:118::o;2543:215:110:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:110;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:110;;2700:1:::1;2672:31;::::0;::::1;2792:51:139::0;2765:18;;2672:31:110::1;2616:233:139::0;2623:91:110::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;2481:116:75:-;1531:13:110;:11;:13::i;:::-;2561:29:75::1;2577:3;2582:7;2561:15;:29::i;:::-;2481:116:::0;;:::o;1796:162:110:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:110;735:10:125;1855:23:110;1851:101;;1901:40;;-1:-1:-1;;;1901:40:110;;735:10:125;1901:40:110;;;2792:51:139;2765:18;;1901:40:110;2616:233:139;2912:187:110;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:110;;;-1:-1:-1;;;;;;3020:17:110;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;9404:762:75:-;9622:27;;;;9549:11;9622:27;;;:18;:27;;;;;9774:17;:38;9723:28;;9549:11;;;;;;-1:-1:-1;;;9774:38:75;;;;;;9755:3;;9707:44;;-1:-1:-1;;;9723:28:75;;-1:-1:-1;;;;;9723:28:75;9707:13;:44;:::i;:::-;9706:52;;;;:::i;:::-;9705:107;;;;:::i;:::-;9883:24;;9678:134;;-1:-1:-1;9840:24:75;;9867:40;;-1:-1:-1;;;9883:24:75;;;;9867:13;:40;:::i;:::-;10024:28;;9942:17;:28;9840:67;;-1:-1:-1;9917:14:75;;-1:-1:-1;;;;;;;;10024:28:75;;;;;;9840:67;;9973:16;;9935:35;;9942:28;9935:4;:35;:::i;:::-;:54;;;;:::i;:::-;:73;;;;:::i;:::-;9934:118;;;;:::i;:::-;10109:23;;10081:24;;9917:135;;-1:-1:-1;;;;;;10109:23:75;;;;10072:33;;10081:24;9917:135;10072:33;:::i;:::-;10071:61;;;;:::i;:::-;10134:24;;;;-1:-1:-1;;;;;10134:24:75;;;;-1:-1:-1;9404:762:75;;-1:-1:-1;;;;;;;9404:762:75:o;8345:1053::-;8490:11;8503:18;8533:17;8553:23;8568:7;8553:14;:23::i;:::-;8635:30;;;;8605:27;8635:30;;;:18;:30;;;;;8719:24;;8533:43;;-1:-1:-1;8635:30:75;8605:27;;8703:40;;-1:-1:-1;;;8719:24:75;;;8703:13;:40;:::i;:::-;8702:49;;8747:4;8702:49;:::i;:::-;8814:28;;8675:76;;-1:-1:-1;8779:13:75;;8795:47;;-1:-1:-1;;;8814:28:75;;-1:-1:-1;;;;;8814:28:75;8675:76;8795:47;:::i;:::-;8901:27;;;;8871;8901;;;:18;:27;;;;;8981:24;;8779:63;;-1:-1:-1;8901:27:75;8871;;8965:40;;-1:-1:-1;;;8981:24:75;;;8965:13;:40;:::i;:::-;9059:28;;8938:67;;-1:-1:-1;9015:13:75;;-1:-1:-1;;;9059:28:75;;-1:-1:-1;;;;;9059:28:75;9032:23;9051:4;8938:67;9032:23;:::i;:::-;9031:56;;;;:::i;:::-;9161:23;;9133:24;;9015:72;;-1:-1:-1;9098:23:75;;-1:-1:-1;;;;;9161:23:75;;;;9125:32;;9133:24;9125:5;:32;:::i;:::-;9124:60;;;;:::i;:::-;9257:23;;9229:24;;9098:86;;-1:-1:-1;9194:23:75;;-1:-1:-1;;;;;9257:23:75;;;;9221:32;;9229:24;9221:5;:32;:::i;:::-;9220:60;;;;:::i;:::-;9194:86;-1:-1:-1;9290:14:75;9307:33;9194:86;9307:15;:33;:::i;:::-;9366:24;;;;-1:-1:-1;;;;;9366:24:75;;;;-1:-1:-1;8345:1053:75;;-1:-1:-1;;;;;;;;;;;;;8345:1053:75:o;6932:601::-;7147:27;;;;7076:11;7147:27;;;:18;:27;;;;;7317:22;;7076:11;;;;;;7301:38;;-1:-1:-1;;;7317:22:75;;;7301:13;:38;:::i;:::-;7395:26;;7276:63;;-1:-1:-1;7349:17:75;;-1:-1:-1;;;7395:26:75;;-1:-1:-1;;;;;7395:26:75;7370:21;7387:4;7276:63;7370:21;:::i;:::-;7369:52;;;;:::i;:::-;7478:23;;7452:22;;7349:72;;-1:-1:-1;;;;;;7478:23:75;;;;7440:34;;7452:22;7349:72;7440:34;:::i;:::-;7439:62;;;;:::i;:::-;7503:22;;;;-1:-1:-1;;;;;7503:22:75;;;;-1:-1:-1;6932:601:75;;-1:-1:-1;;;;;;6932:601:75:o;7539:800::-;7672:11;;;;;7780:16;7790:6;7780:7;:16;:::i;:::-;7764:32;;7810:6;:13;;7820:3;7810:13;:32;;;;7827:6;:15;;7837:5;7827:15;7810:32;:51;;;;7846:6;:15;;7856:5;7846:15;7810:51;7806:434;;;7897:58;7927:6;7935:13;7950:4;7897:29;:58::i;:::-;7877:78;;-1:-1:-1;7877:78:75;-1:-1:-1;7806:434:75;;;7976:6;:13;;7986:3;7976:13;:32;;;;7993:6;:15;;8003:5;7993:15;7976:32;:51;;;;8012:6;:15;;8022:5;8012:15;7976:51;7972:268;;;8063:58;8093:6;8101:13;8116:4;8063:29;:58::i;7972:268::-;8172:57;8201:6;8209:13;8224:4;8172:28;:57::i;:::-;8152:77;;-1:-1:-1;8152:77:75;-1:-1:-1;7972:268:75;-1:-1:-1;;8273:23:75;;8317:15;;7539:800;;;;-1:-1:-1;;;;;;8273:23:75;;;;-1:-1:-1;8317:15:75;;;;-1:-1:-1;7539:800:75;-1:-1:-1;7539:800:75:o;438:252:52:-;-1:-1:-1;;;;;506:19:52;;502:58;;534:26;;-1:-1:-1;;;534:26:52;;;;;;;;;;;502:58;571:12;589:3;-1:-1:-1;;;;;589:8:52;606:6;589:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:48;;;633:7;628:55;;649:34;;-1:-1:-1;;;649:34:52;;-1:-1:-1;;;;;8932:32:139;;649:34:52;;;8914:51:139;8981:18;;;8974:34;;;8887:18;;649:34:52;8740:274:139;6534:392:75;6596:6;;6629:15;6638:6;6629;:15;:::i;:::-;6614:30;;6658:5;:12;;6667:3;6658:12;6654:217;;-1:-1:-1;6693:3:75;;6534:392;-1:-1:-1;;6534:392:75:o;6654:217::-;6717:5;:14;;6726:5;6717:14;6713:158;;-1:-1:-1;6754:5:75;;6534:392;-1:-1:-1;;6534:392:75:o;6713:158::-;6799:5;:14;;6808:5;6799:14;6795:76;;-1:-1:-1;6836:5:75;;6534:392;-1:-1:-1;;6534:392:75:o;6795:76::-;6887:32;;-1:-1:-1;;;6887:32:75;;9193:10:139;9181:23;;6887:32:75;;;9163:42:139;9136:18;;6887:32:75;9019:192:139;14:163;81:20;;141:10;130:22;;120:33;;110:61;;167:1;164;157:12;110:61;14:163;;;:::o;182:320::-;258:6;266;274;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:28;384:9;366:28;:::i;:::-;356:38;441:2;426:18;;413:32;;-1:-1:-1;492:2:139;477:18;;;464:32;;182:320;-1:-1:-1;;;182:320:139:o;689:188::-;757:20;;-1:-1:-1;;;;;806:46:139;;796:57;;786:85;;867:1;864;857:12;882:186;941:6;994:2;982:9;973:7;969:23;965:32;962:52;;;1010:1;1007;1000:12;962:52;1033:29;1052:9;1033:29;:::i;:::-;1023:39;882:186;-1:-1:-1;;;882:186:139:o;1073:646::-;1190:6;1198;1251:2;1239:9;1230:7;1226:23;1222:32;1219:52;;;1267:1;1264;1257:12;1219:52;1307:9;1294:23;-1:-1:-1;;;;;1377:2:139;1369:6;1366:14;1363:34;;;1393:1;1390;1383:12;1363:34;1431:6;1420:9;1416:22;1406:32;;1476:7;1469:4;1465:2;1461:13;1457:27;1447:55;;1498:1;1495;1488:12;1447:55;1538:2;1525:16;1564:2;1556:6;1553:14;1550:34;;;1580:1;1577;1570:12;1550:34;1633:7;1628:2;1618:6;1615:1;1611:14;1607:2;1603:23;1599:32;1596:45;1593:65;;;1654:1;1651;1644:12;1593:65;1685:2;1677:11;;;;;1707:6;;-1:-1:-1;1073:646:139;;-1:-1:-1;;;;1073:646:139:o;2086:173::-;2154:20;;-1:-1:-1;;;;;2203:31:139;;2193:42;;2183:70;;2249:1;2246;2239:12;2264:347;2329:6;2337;2390:2;2378:9;2369:7;2365:23;2361:32;2358:52;;;2406:1;2403;2396:12;2358:52;2429:29;2448:9;2429:29;:::i;:::-;2419:39;;2508:2;2497:9;2493:18;2480:32;2555:5;2548:13;2541:21;2534:5;2531:32;2521:60;;2577:1;2574;2567:12;2521:60;2600:5;2590:15;;;2264:347;;;;;:::o;2854:159::-;2921:20;;2981:6;2970:18;;2960:29;;2950:57;;3003:1;3000;2993:12;3018:320;3094:6;3102;3110;3163:2;3151:9;3142:7;3138:23;3134:32;3131:52;;;3179:1;3176;3169:12;3131:52;3202:28;3220:9;3202:28;:::i;3637:201::-;3730:6;3783:3;3771:9;3762:7;3758:23;3754:33;3751:53;;;3800:1;3797;3790:12;3751:53;-1:-1:-1;3823:9:139;3637:201;-1:-1:-1;3637:201:139:o;4319:186::-;4378:6;4431:2;4419:9;4410:7;4406:23;4402:32;4399:52;;;4447:1;4444;4437:12;4399:52;4470:29;4489:9;4470:29;:::i;5133:184::-;5191:6;5244:2;5232:9;5223:7;5219:23;5215:32;5212:52;;;5260:1;5257;5250:12;5212:52;5283:28;5301:9;5283:28;:::i;5766:184::-;5824:6;5877:2;5865:9;5856:7;5852:23;5848:32;5845:52;;;5893:1;5890;5883:12;5845:52;5916:28;5934:9;5916:28;:::i;5955:254::-;6023:6;6031;6084:2;6072:9;6063:7;6059:23;6055:32;6052:52;;;6100:1;6097;6090:12;6052:52;6123:29;6142:9;6123:29;:::i;:::-;6113:39;6199:2;6184:18;;;;6171:32;;-1:-1:-1;;;5955:254:139:o;6214:127::-;6275:10;6270:3;6266:20;6263:1;6256:31;6306:4;6303:1;6296:15;6330:4;6327:1;6320:15;6346:171;6413:20;;-1:-1:-1;;;;;6462:30:139;;6452:41;;6442:69;;6507:1;6504;6497:12;6522:681;6604:6;6657:2;6645:9;6636:7;6632:23;6628:32;6625:52;;;6673:1;6670;6663:12;6625:52;6706:2;6700:9;6748:2;6740:6;6736:15;6817:6;6805:10;6802:22;-1:-1:-1;;;;;6769:10:139;6766:34;6763:62;6760:185;;;6867:10;6862:3;6858:20;6855:1;6848:31;6902:4;6899:1;6892:15;6930:4;6927:1;6920:15;6760:185;6961:2;6954:22;7000:29;7019:9;7000:29;:::i;:::-;6992:6;6985:45;7063:37;7096:2;7085:9;7081:18;7063:37;:::i;:::-;7058:2;7050:6;7046:15;7039:62;7134:37;7167:2;7156:9;7152:18;7134:37;:::i;:::-;7129:2;7117:15;;7110:62;7121:6;6522:681;-1:-1:-1;;;6522:681:139:o;7208:184::-;7266:6;7319:2;7307:9;7298:7;7294:23;7290:32;7287:52;;;7335:1;7332;7325:12;7287:52;7358:28;7376:9;7358:28;:::i;7650:127::-;7711:10;7706:3;7702:20;7699:1;7692:31;7742:4;7739:1;7732:15;7766:4;7763:1;7756:15;7782:168;7855:9;;;7886;;7903:15;;;7897:22;;7883:37;7873:71;;7924:18;;:::i;:::-;7782:168;;;;:::o;7955:127::-;8016:10;8011:3;8007:20;8004:1;7997:31;8047:4;8044:1;8037:15;8071:4;8068:1;8061:15;8087:120;8127:1;8153;8143:35;;8158:18;;:::i;:::-;-1:-1:-1;8192:9:139;;8087:120::o;8212:125::-;8277:9;;;8298:10;;;8295:36;;;8311:18;;:::i;8342:183::-;8373:1;8399:10;8436:2;8433:1;8429:10;8458:3;8448:37;;8465:18;;:::i;:::-;8503:10;;8499:20;;;;;8342:183;-1:-1:-1;;8342:183:139:o","linkReferences":{}},"methodIdentifiers":{"ARBITRUM_COMPRESSION_PERCENT()":"cd68b79b","arbitrumPriceExt()":"36a5beba","endpoint()":"5e280f11","estimateFeeByChain(uint16,uint256,uint256)":"7bc3c9ab","estimateFeeByEid(uint32,uint256,uint256)":"88a4124c","estimateFeeOnSend(uint32,uint256,uint256)":"c1723a1d","getFee(uint32,uint256,uint256)":"11f2c343","getPrice(uint16)":"e0ad121a","getPrice(uint32)":"da26663a","getPriceRatioDenominator()":"c1840327","nativeTokenPriceUSD()":"92807f58","owner()":"8da5cb5b","priceUpdater(address)":"8ca2fb08","renounceOwnership()":"715018a6","setArbitrumCompressionPercent(uint128)":"2f7cb0b4","setEndpoint(address)":"dbbb4155","setNativeTokenPriceUSD(uint128)":"5d6d7ccb","setPrice((uint32,(uint128,uint64,uint32))[])":"3161b7f6","setPriceForArbitrum((uint32,(uint128,uint64,uint32),(uint64,uint32)))":"7dc438a4","setPriceRatioDenominator(uint128)":"d350ad25","setPriceUpdater(address,bool)":"52a72510","transferOwnership(address)":"f2fde38b","withdrawFee(address,uint256)":"fd9be522"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_priceUpdater\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"LZ_PriceFeed_InsufficientFee\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"l2Eid\",\"type\":\"uint32\"}],\"name\":\"LZ_PriceFeed_NotAnOPStack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LZ_PriceFeed_OnlyPriceUpdater\",\"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\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer_NativeFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Transfer_ToAddressIsZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ARBITRUM_COMPRESSION_PERCENT\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrumPriceExt\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasPerL2Tx\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasPerL1CallDataByte\",\"type\":\"uint32\"}],\"internalType\":\"struct ILayerZeroPriceFeed.ArbitrumPriceExt\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endpoint\",\"outputs\":[{\"internalType\":\"contract ILayerZeroEndpointV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_dstEid\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_callDataSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"estimateFeeByChain\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"priceRatio\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_callDataSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"estimateFeeByEid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_callDataSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gas\",\"type\":\"uint256\"}],\"name\":\"estimateFeeOnSend\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"priceRatio\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"gasPriceInUnit\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasPerByte\",\"type\":\"uint32\"}],\"internalType\":\"struct ILayerZeroPriceFeed.Price\",\"name\":\"price\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_dstEid\",\"type\":\"uint16\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"priceRatio\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"gasPriceInUnit\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"gasPerByte\",\"type\":\"uint32\"}],\"internalType\":\"struct ILayerZeroPriceFeed.Price\",\"name\":\"price\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"f