ERC-20
Source Code
Overview
Max Total Supply
548.355994 RZR
Holders
42
Transfers
-
0
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_authority","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","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":[],"name":"NotInitializing","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"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IAppAuthority","name":"authority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"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":"uint64","name":"version","type":"uint64"}],"name":"Initialized","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":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract IAppAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","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":[{"internalType":"address","name":"account_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","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":[],"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":"contract IAppAuthority","name":"_newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","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":"registry","type":"address"},{"internalType":"uint256","name":"projectID","type":"uint256"}],"name":"setFeeMProjectId","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6101a060405234801561001157600080fd5b506040516150493803806150498339810160408190526100309161061e565b6040518060400160405280600781526020016652657a6572766560c81b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600d81526020016c52657a657276652e6d6f6e657960981b81525060405180604001604052806003815260200162292d2960e91b815250863383836100bf6102ee60201b60201c565b84848181818133806100ec57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6100f5816102f3565b506001600160a01b03808316608052811661012357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b15801561016a57600080fd5b505af115801561017e573d6000803e3d6000fd5b505050505050505061019461034360201b60201c565b60ff168360ff1610156101ba576040516301e9714b60e41b815260040160405180910390fd5b6101c5600684610667565b6101d090600a610767565b60a05250600891506101e49050838261081b565b5060096101f1828261081b565b506102079550879450600a935050610348915050565b6101605261021681600b610348565b61018052815160208084019190912061012052815190820120610140524660e0526102a56101205161014051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60c05250503061010052506102b98161037b565b6102c360006102f3565b6102d533670de0b6b3a7640000610387565b6102e733670de0b6b3a76400006103c1565b505061095e565b601290565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b60006020835110156103645761035d836103f7565b9050610375565b8161036f848261081b565b5060ff90505b92915050565b61038481610435565b50565b6001600160a01b0382166103b15760405163ec442f0560e01b8152600060048201526024016100e3565b6103bd60008383610487565b5050565b6001600160a01b0382166103eb57604051634b637e8f60e11b8152600060048201526024016100e3565b6103bd82600083610487565b600080829050601f81511115610422578260405163305a27a960e01b81526004016100e391906108d9565b805161042d82610927565b179392505050565b600d8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a250565b6104928383836104d8565b600d5460ff16156104d35760405162461bcd60e51b815260206004820152600b60248201526a1496948e881c185d5cd95960aa1b60448201526064016100e3565b505050565b6001600160a01b0383166105035780600760008282546104f8919061094b565b909155506105759050565b6001600160a01b038316600090815260056020526040902054818110156105565760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100e3565b6001600160a01b03841660009081526005602052604090209082900390555b6001600160a01b038216610591576007805482900390556105b0565b6001600160a01b03821660009081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105f591815260200190565b60405180910390a3505050565b80516001600160a01b038116811461061957600080fd5b919050565b6000806040838503121561063157600080fd5b61063a83610602565b915061064860208401610602565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b60ff828116828216039081111561037557610375610651565b6001815b60018411156106bb5780850481111561069f5761069f610651565b60018416156106ad57908102905b60019390931c928002610684565b935093915050565b6000826106d257506001610375565b816106df57506000610375565b81600181146106f557600281146106ff5761071b565b6001915050610375565b60ff84111561071057610710610651565b50506001821b610375565b5060208310610133831016604e8410600b841016171561073e575081810a610375565b61074b6000198484610680565b806000190482111561075f5761075f610651565b029392505050565b600061077660ff8416836106c3565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806107a757607f821691505b6020821081036107c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156104d357806000526020600020601f840160051c810160208510156107f45750805b601f840160051c820191505b818110156108145760008155600101610800565b5050505050565b81516001600160401b038111156108345761083461077d565b610848816108428454610793565b846107cd565b6020601f82116001811461087c57600083156108645750848201515b600019600385901b1c1916600184901b178455610814565b600084815260208120601f198516915b828110156108ac578785015182556020948501946001909201910161088c565b50848210156108ca5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b602081526000825180602084015260005b8181101561090757602081860181015160408684010152016108ea565b506000604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156107c75760001960209190910360031b1b16919050565b8082018082111561037557610375610651565b60805160a05160c05160e0516101005161012051610140516101605161018051614635610a1460003960006125f9015260006125cc01526000612127015260006120ff0152600061205a01526000612084015260006120ae01526000818161085c015281816129e701528181612a5c0152612b9501526000818161069d01528181610e10015281816118c401528181611d2e015281816122ca01528181612d85015281816131f701526132c901526146356000f3fe6080604052600436106103555760003560e01c80637a9e5e4b116101bb578063b98bd070116100f7578063d045a0dc11610095578063dd62ed3e1161006f578063dd62ed3e14610a0b578063f2fde38b14610a51578063fc0c546a14610609578063ff7bd03d14610a7157600080fd5b8063d045a0dc146109b8578063d4243885146109cb578063d505accf146109eb57600080fd5b8063bd815db0116100d1578063bd815db01461093f578063bf7e214f14610952578063c7c7f5b314610977578063ca5eb5e11461099857600080fd5b8063b98bd070146108d2578063bb0b6a53146108f2578063bc70b3541461091f57600080fd5b8063857749b011610164578063963efcaa1161013e578063963efcaa1461084a5780639f68b9641461087e578063a9059cbb14610892578063b731ea0a146108b257600080fd5b8063857749b0146108035780638da5cb5b1461081757806395d89b411461083557600080fd5b806382413eac1161019557806382413eac146107a65780638456cb59146107c657806384b0196e146107db57600080fd5b80637a9e5e4b1461072a5780637d25a05e1461074a5780637ecebe001461078657600080fd5b80633400288b116102955780635535d461116102335780635e280f111161020d5780635e280f111461068b5780636fc1b31e146106bf57806370a08231146106df578063715018a61461071557600080fd5b80635535d4611461061c5780635a0dfe4d1461063c5780635c975abb1461067357600080fd5b80633f4ba83a1161026f5780633f4ba83a146105b457806340c10f19146105c957806342966c68146105e957806352ae28791461060957600080fd5b80633400288b146105525780633644e515146105725780633b6f743b1461058757600080fd5b8063134d4f251161030257806318160ddd116102dc57806318160ddd146104dc5780631f5e1334146104fb57806323b872dd14610510578063313ce5671461053057600080fd5b8063134d4f2514610451578063156a0d0f1461047957806317442b70146104ba57600080fd5b80630f93b45e116103335780630f93b45e146103e4578063111ecdad1461040657806313137d651461043e57600080fd5b806306fdde031461035a578063095ea7b3146103855780630d35b415146103b5575b600080fd5b34801561036657600080fd5b5061036f610a91565b60405161037c91906134d4565b60405180910390f35b34801561039157600080fd5b506103a56103a03660046134fc565b610b23565b604051901515815260200161037c565b3480156103c157600080fd5b506103d56103d0366004613540565b610b3d565b60405161037c93929190613575565b3480156103f057600080fd5b506104046103ff3660046134fc565b610cce565b005b34801561041257600080fd5b50600454610426906001600160a01b031681565b6040516001600160a01b03909116815260200161037c565b61040461044c36600461368b565b610e0e565b34801561045d57600080fd5b50610466600281565b60405161ffff909116815260200161037c565b34801561048557600080fd5b50604080517f02e49c2c000000000000000000000000000000000000000000000000000000008152600160208201520161037c565b3480156104c657600080fd5b506040805160018152600260208201520161037c565b3480156104e857600080fd5b506007545b60405190815260200161037c565b34801561050757600080fd5b50610466600181565b34801561051c57600080fd5b506103a561052b36600461372e565b610efb565b34801561053c57600080fd5b5060125b60405160ff909116815260200161037c565b34801561055e57600080fd5b5061040461056d366004613788565b610f21565b34801561057e57600080fd5b506104ed610f37565b34801561059357600080fd5b506105a76105a23660046137b2565b610f46565b60405161037c9190613804565b3480156105c057600080fd5b50610404610fad565b3480156105d557600080fd5b506104046105e43660046134fc565b61107b565b3480156105f557600080fd5b5061040461060436600461381b565b611151565b34801561061557600080fd5b5030610426565b34801561062857600080fd5b5061036f610637366004613846565b611166565b34801561064857600080fd5b506103a5610657366004613788565b63ffffffff919091166000908152600160205260409020541490565b34801561067f57600080fd5b50600d5460ff166103a5565b34801561069757600080fd5b506104267f000000000000000000000000000000000000000000000000000000000000000081565b3480156106cb57600080fd5b506104046106da366004613879565b61120b565b3480156106eb57600080fd5b506104ed6106fa366004613879565b6001600160a01b031660009081526005602052604090205490565b34801561072157600080fd5b50610404611275565b34801561073657600080fd5b50610404610745366004613879565b611287565b34801561075657600080fd5b5061076d610765366004613788565b600092915050565b60405167ffffffffffffffff909116815260200161037c565b34801561079257600080fd5b506104ed6107a1366004613879565b611354565b3480156107b257600080fd5b506103a56107c1366004613896565b611372565b3480156107d257600080fd5b50610404611387565b3480156107e757600080fd5b506107f0611453565b60405161037c97969594939291906138fd565b34801561080f57600080fd5b506006610540565b34801561082357600080fd5b506000546001600160a01b0316610426565b34801561084157600080fd5b5061036f6114b5565b34801561085657600080fd5b506104ed7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088a57600080fd5b5060006103a5565b34801561089e57600080fd5b506103a56108ad3660046134fc565b6114c4565b3480156108be57600080fd5b50600254610426906001600160a01b031681565b3480156108de57600080fd5b506104046108ed3660046139f6565b6114d2565b3480156108fe57600080fd5b506104ed61090d366004613a38565b60016020526000908152604090205481565b34801561092b57600080fd5b5061036f61093a366004613a53565b6114ec565b61040461094d3660046139f6565b6116ad565b34801561095e57600080fd5b50600d546104269061010090046001600160a01b031681565b61098a610985366004613ab4565b611850565b60405161037c929190613b22565b3480156109a457600080fd5b506104046109b3366004613879565b611884565b6104046109c636600461368b565b611923565b3480156109d757600080fd5b506104046109e6366004613879565b61196b565b3480156109f757600080fd5b50610404610a06366004613b75565b6119ce565b348015610a1757600080fd5b506104ed610a26366004613bec565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610a5d57600080fd5b50610404610a6c366004613879565b611b3a565b348015610a7d57600080fd5b506103a5610a8c366004613c1a565b611b8e565b606060088054610aa090613c36565b80601f0160208091040260200160405190810160405280929190818152602001828054610acc90613c36565b8015610b195780601f10610aee57610100808354040283529160200191610b19565b820191906000526020600020905b815481529060010190602001808311610afc57829003601f168201915b5050505050905090565b600033610b31818585611bc4565b60019150505b92915050565b60408051808201909152600080825260208201526060610b70604051806040016040528060008152602001600081525090565b600080306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190613c6a565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c369190613c87565b60408051808201825284815260208082018490528251600080825291810190935290975091925090610c8b565b604080518082019091526000815260606020820152815260200190600190039081610c635790505b509350600080610cb0604089013560608a0135610cab60208c018c613a38565b611bd6565b60408051808201909152918252602082015296989597505050505050565b600d546040517fe43581b80000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b03169063e43581b890602401602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d579190613cb6565b610d975760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6040517f1e60fd14000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b03831690631e60fd1490602401600060405180830381600087803b158015610df257600080fd5b505af1158015610e06573d6000803e3d6000fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610e72576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610d8e565b60208701803590610e8c90610e87908a613a38565b611c2b565b14610ee357610e9e6020880188613a38565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610d8e565b610ef287878787878787611c80565b50505050505050565b600033610f09858285611e00565b610f14858585611e98565b60019150505b9392505050565b610f29611f29565b610f338282611ff8565b5050565b6000610f4161204d565b905090565b60408051808201909152600080825260208201526000610f7660408501356060860135610cab6020880188613a38565b915050600080610f868684612178565b9092509050610fa3610f9b6020880188613a38565b8383886122b4565b9695505050505050565b600d546040517f0c68ba210000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b031690630c68ba2190602401602060405180830381865afa158015611012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110369190613cb6565b6110715760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b611079612395565b565b600d546040517ffad1c85c0000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b03169063fad1c85c90602401602060405180830381865afa1580156110e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111049190613cb6565b61113f5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b6111476123e7565b610f338282612424565b6111596123e7565b6111633382612473565b50565b60036020908152600092835260408084209091529082529020805461118a90613c36565b80601f01602080910402602001604051908101604052809291908181526020018280546111b690613c36565b80156112035780601f106111d857610100808354040283529160200191611203565b820191906000526020600020905b8154815290600101906020018083116111e657829003601f168201915b505050505081565b611213611f29565b6004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b61127d611f29565b61107960006124c2565b600d546040517fe43581b80000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b03169063e43581b890602401602060405180830381865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190613cb6565b61134b5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b6111638161251f565b6001600160a01b0381166000908152600c6020526040812054610b37565b6001600160a01b03811630145b949350505050565b600d546040517f0c68ba210000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b031690630c68ba2190602401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190613cb6565b61144b5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b611079612588565b6000606080600080600060606114676125c5565b61146f6125f2565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606060098054610aa090613c36565b600033610b31818585611e98565b6114da611f29565b610f336114e78284613d78565b61261f565b63ffffffff8416600090815260036020908152604080832061ffff8716845290915281208054606092919061152090613c36565b80601f016020809104026020016040519081016040528092919081815260200182805461154c90613c36565b80156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b5050505050905080516000036115e95783838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945061137f9350505050565b60008390036115f957905061137f565b600283106116775761164084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061272692505050565b8061164e8460028188613ea4565b60405160200161166093929190613ece565b60405160208183030381529060405291505061137f565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610d8e929190613f21565b60005b818110156117b657368383838181106116cb576116cb613f35565b90506020028101906116dd9190613f4b565b90506117106116ef6020830183613a38565b602083013563ffffffff919091166000908152600160205260409020541490565b61171a57506117ae565b3063d045a0dc60c08301358360a0810135611739610100830183613f89565b61174a610100890160e08a01613879565b6117586101208a018a613f89565b6040518963ffffffff1660e01b815260040161177a9796959493929190614004565b6000604051808303818588803b15801561179357600080fd5b505af11580156117a7573d6000803e3d6000fd5b5050505050505b6001016116b0565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156117f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261181d919081019061408b565b6040517f8351eea7000000000000000000000000000000000000000000000000000000008152600401610d8e91906134d4565b61185861343c565b604080518082019091526000808252602082015261187785858561276b565b915091505b935093915050565b61188c611f29565b6040517fca5eb5e10000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561190857600080fd5b505af115801561191c573d6000803e3d6000fd5b5050505050565b33301461195c576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ef287878787878787610ee3565b611973611f29565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200161126a565b83421115611a0b576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610d8e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611a588c6001600160a01b03166000908152600c6020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611ab382612866565b90506000611ac3828787876128ae565b9050896001600160a01b0316816001600160a01b031614611b23576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401610d8e565b611b2e8a8a8a611bc4565b50505050505050505050565b611b42611f29565b6001600160a01b038116611b85576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b611163816124c2565b6000602082018035906001908390611ba69086613a38565b63ffffffff1681526020810191909152604001600020541492915050565b611bd183838360016128dc565b505050565b600080611be2856129e3565b91508190508381101561187c576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610d8e565b63ffffffff811660009081526001602052604081205480610b37576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610d8e565b6000611c92611c8f8787612a1a565b90565b90506000611cbe82611cac611ca78a8a612a32565b612a55565b611cb960208d018d613a38565b612a8b565b90506028861115611d9e576000611cfb611cde60608c0160408d016140f9565b611ceb60208d018d613a38565b84611cf68c8c612ab3565b612afe565b6040517f7cb590120000000000000000000000000000000000000000000000000000000081529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb5901290611d6a9086908d906000908790600401614116565b600060405180830381600087803b158015611d8457600080fd5b505af1158015611d98573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c611dd760208d018d613a38565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b6001600160a01b03838116600090815260066020908152604080832093861683529290522054600019811015611e925781811015611e83576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610d8e565b611e92848484840360006128dc565b50505050565b6001600160a01b038316611edb576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b6001600160a01b038216611f1e576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b611bd1838383612b30565b600d5461010090046001600160a01b031663e43581b8336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc09190613cb6565b611079576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610d8e565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156120a657507f000000000000000000000000000000000000000000000000000000000000000046145b156120d057507f000000000000000000000000000000000000000000000000000000000000000090565b610f41604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60608060006121d5856020013561218e86612b8e565b61219b60a0890189613f89565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bba92505050565b90935090506000816121e85760016121eb565b60025b905061220b6121fd6020880188613a38565b8261093a60808a018a613f89565b6004549093506001600160a01b031680156122aa576040517f043a78eb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063043a78eb906122679088908890600401614148565b602060405180830381865afa158015612284573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a89190613cb6565b505b5050509250929050565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161231789611c2b565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161234c92919061416d565b6040805180830381865afa158015612368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238c9190614217565b95945050505050565b61239d612c45565b600d805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600d5460ff1615611079576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216612467576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b610f3360008383612b30565b6001600160a01b0382166124b6576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b610f3382600083612b30565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038416908102919091179091556040517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a250565b6125906123e7565b600d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123ca3390565b6060610f417f0000000000000000000000000000000000000000000000000000000000000000600a612c81565b6060610f417f0000000000000000000000000000000000000000000000000000000000000000600b612c81565b60005b81518110156126f65761265182828151811061264057612640613f35565b602002602001015160400151612726565b81818151811061266357612663613f35565b6020026020010151604001516003600084848151811061268557612685613f35565b60200260200101516000015163ffffffff1663ffffffff16815260200190815260200160002060008484815181106126bf576126bf613f35565b60200260200101516020015161ffff1661ffff16815260200190815260200160002090816126ed919061427a565b50600101612622565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6748160405161126a9190614339565b600281015161ffff8116600314610f3357816040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610d8e91906134d4565b61277361343c565b60408051808201909152600080825260208201526000806127aa33604089013560608a01356127a560208c018c613a38565b612d2c565b915091506000806127bb8984612178565b90925090506127e76127d060208b018b613a38565b83836127e1368d90038d018d6143c9565b8b612d52565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90612835908d018d613a38565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6000610b3761287361204d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000806128c088888888612e5d565b9250925092506128d08282612f2c565b50909695505050505050565b6001600160a01b03841661291f576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b6001600160a01b038316612962576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b6001600160a01b0380851660009081526006602090815260408083209387168352929052208290558015611e9257826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516129d591815260200190565b60405180910390a350505050565b60007f0000000000000000000000000000000000000000000000000000000000000000612a108184614412565b610b379190614434565b6000612a296020828486613ea4565b610f1a9161444b565b6000612a42602860208486613ea4565b612a4b91614469565b60c01c9392505050565b6000610b377f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8416614434565b60006001600160a01b038416612aa15761dead93505b612aab8484612424565b509092915050565b6060612ac28260288186613ea4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001612b1794939291906144c1565b6040516020818303038152906040529050949350505050565b612b3b838383613030565b600d5460ff1615611bd15760405162461bcd60e51b815260206004820152600b60248201527f525a523a207061757365640000000000000000000000000000000000000000006044820152606401610d8e565b6000610b377f000000000000000000000000000000000000000000000000000000000000000083614412565b8051606090151580612c14578484604051602001612c0092919091825260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff1916602082015260280190565b604051602081830303815290604052612c3b565b84843385604051602001612c2b9493929190614538565b6040516020818303038152906040525b9150935093915050565b600d5460ff16611079576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060ff8314612c9b57612c9483613173565b9050610b37565b818054612ca790613c36565b80601f0160208091040260200160405190810160405280929190818152602001828054612cd390613c36565b8015612d205780601f10612cf557610100808354040283529160200191612d20565b820191906000526020600020905b815481529060010190602001808311612d0357829003601f168201915b50505050509050610b37565b600080612d3a858585611bd6565b9092509050612d498683612473565b94509492505050565b612d5a61343c565b6000612d6984600001516131b2565b602085015190915015612d8357612d8384602001516131f3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001612dd38c611c2b565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401612e0f92919061416d565b60806040518083038185885af1158015612e2d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e52919061458a565b979650505050505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612e985750600091506003905082612f22565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612eec573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612f1857506000925060019150829050612f22565b9250600091508190505b9450945094915050565b6000826003811115612f4057612f406145d6565b03612f49575050565b6001826003811115612f5d57612f5d6145d6565b03612f94576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115612fa857612fa86145d6565b03612fe2576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610d8e565b6003826003811115612ff657612ff66145d6565b03610f33576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610d8e565b6001600160a01b03831661305b57806007600082825461305091906145ec565b909155506130e69050565b6001600160a01b038316600090815260056020526040902054818110156130c7576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024810182905260448101839052606401610d8e565b6001600160a01b03841660009081526005602052604090209082900390555b6001600160a01b03821661310257600780548290039055613121565b6001600160a01b03821660009081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161316691815260200190565b60405180910390a3505050565b60606000613180836132ee565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60008134146131ef576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610d8e565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015613253573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132779190613c6a565b90506001600160a01b0381166132b9576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f336001600160a01b038216337f00000000000000000000000000000000000000000000000000000000000000008561332f565b600060ff8216601f811115610b37576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516001600160a01b038581166024830152841660448201526064808201849052825180830390910181526084909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001781528251611e92938893909260009283929183919082885af1806133d5576040513d6000823e3d81fd5b50506000513d915081156133ed5780600114156133fa565b6001600160a01b0384163b155b15611e92576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610d8e565b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161347f604051806040016040528060008152602001600081525090565b905290565b60005b8381101561349f578181015183820152602001613487565b50506000910152565b600081518084526134c0816020860160208601613484565b601f01601f19169290920160200192915050565b602081526000610f1a60208301846134a8565b6001600160a01b038116811461116357600080fd5b6000806040838503121561350f57600080fd5b823561351a816134e7565b946020939093013593505050565b600060e0828403121561353a57600080fd5b50919050565b60006020828403121561355257600080fd5b813567ffffffffffffffff81111561356957600080fd5b61137f84828501613528565b8351815260208085015190820152600060a0820160a0604084015280855180835260c08501915060c08160051b86010192506020870160005b82811015613614577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4087860301845281518051865260208101519050604060208701526135fe60408701826134a8565b95505060209384019391909101906001016135ae565b505085516060860152505060208401516080840152905061137f565b60006060828403121561353a57600080fd5b60008083601f84011261365457600080fd5b50813567ffffffffffffffff81111561366c57600080fd5b60208301915083602082850101111561368457600080fd5b9250929050565b600080600080600080600060e0888a0312156136a657600080fd5b6136b08989613630565b965060608801359550608088013567ffffffffffffffff8111156136d357600080fd5b6136df8a828b01613642565b90965094505060a08801356136f3816134e7565b925060c088013567ffffffffffffffff81111561370f57600080fd5b61371b8a828b01613642565b989b979a50959850939692959293505050565b60008060006060848603121561374357600080fd5b833561374e816134e7565b9250602084013561375e816134e7565b929592945050506040919091013590565b803563ffffffff8116811461378357600080fd5b919050565b6000806040838503121561379b57600080fd5b61351a8361376f565b801515811461116357600080fd5b600080604083850312156137c557600080fd5b823567ffffffffffffffff8111156137dc57600080fd5b6137e885828601613528565b92505060208301356137f9816137a4565b809150509250929050565b815181526020808301519082015260408101610b37565b60006020828403121561382d57600080fd5b5035919050565b803561ffff8116811461378357600080fd5b6000806040838503121561385957600080fd5b6138628361376f565b915061387060208401613834565b90509250929050565b60006020828403121561388b57600080fd5b8135610f1a816134e7565b60008060008060a085870312156138ac57600080fd5b6138b68686613630565b9350606085013567ffffffffffffffff8111156138d257600080fd5b6138de87828801613642565b90945092505060808501356138f2816134e7565b939692955090935050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e06020820152600061393860e08301896134a8565b828103604084015261394a81896134a8565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b818110156139a0578351835260209384019390920191600101613982565b50909b9a5050505050505050505050565b60008083601f8401126139c357600080fd5b50813567ffffffffffffffff8111156139db57600080fd5b6020830191508360208260051b850101111561368457600080fd5b60008060208385031215613a0957600080fd5b823567ffffffffffffffff811115613a2057600080fd5b613a2c858286016139b1565b90969095509350505050565b600060208284031215613a4a57600080fd5b610f1a8261376f565b60008060008060608587031215613a6957600080fd5b613a728561376f565b9350613a8060208601613834565b9250604085013567ffffffffffffffff811115613a9c57600080fd5b613aa887828801613642565b95989497509550505050565b60008060008385036080811215613aca57600080fd5b843567ffffffffffffffff811115613ae157600080fd5b613aed87828801613528565b9450506040601f1982011215613b0257600080fd5b506020840191506060840135613b17816134e7565b809150509250925092565b600060c0820190508351825267ffffffffffffffff60208501511660208301526040840151613b5e604084018280518252602090810151910152565b5082516080830152602083015160a0830152610f1a565b600080600080600080600060e0888a031215613b9057600080fd5b8735613b9b816134e7565b96506020880135613bab816134e7565b95506040880135945060608801359350608088013560ff81168114613bcf57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215613bff57600080fd5b8235613c0a816134e7565b915060208301356137f9816134e7565b600060608284031215613c2c57600080fd5b610f1a8383613630565b600181811c90821680613c4a57607f821691505b60208210810361353a57634e487b7160e01b600052602260045260246000fd5b600060208284031215613c7c57600080fd5b8151610f1a816134e7565b600060208284031215613c9957600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215613cc857600080fd5b8151610f1a816137a4565b6040516060810167ffffffffffffffff81118282101715613cf657613cf6613ca0565b60405290565b6040805190810167ffffffffffffffff81118282101715613cf657613cf6613ca0565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d4857613d48613ca0565b604052919050565b600067ffffffffffffffff821115613d6a57613d6a613ca0565b50601f01601f191660200190565b600067ffffffffffffffff831115613d9257613d92613ca0565b8260051b613da260208201613d1f565b84815290830190602081019036831115613dbb57600080fd5b845b83811015613e9a57803567ffffffffffffffff811115613ddc57600080fd5b86016060368290031215613def57600080fd5b613df7613cd3565b613e008261376f565b8152613e0e60208301613834565b6020820152604082013567ffffffffffffffff811115613e2d57600080fd5b919091019036601f830112613e4157600080fd5b8135613e54613e4f82613d50565b613d1f565b818152366020838601011115613e6957600080fd5b8160208501602083013760006020838301015280604084015250508085525050602083019250602081019050613dbd565b5095945050505050565b60008085851115613eb457600080fd5b83861115613ec157600080fd5b5050820193919092039150565b60008451613ee0818460208901613484565b8201838582376000930192835250909392505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600061137f602083018486613ef6565b634e487b7160e01b600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112613f7f57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fbe57600080fd5b83018035915067ffffffffffffffff821115613fd957600080fd5b60200191503681900382131561368457600080fd5b67ffffffffffffffff8116811461116357600080fd5b63ffffffff6140128961376f565b168152602088810135908201526000604089013561402f81613fee565b67ffffffffffffffff811660408401525087606083015260e0608083015261405b60e083018789613ef6565b6001600160a01b03861660a084015282810360c084015261407d818587613ef6565b9a9950505050505050505050565b60006020828403121561409d57600080fd5b815167ffffffffffffffff8111156140b457600080fd5b8201601f810184136140c557600080fd5b80516140d3613e4f82613d50565b8181528560208385010111156140e857600080fd5b61238c826020830160208601613484565b60006020828403121561410b57600080fd5b8135610f1a81613fee565b6001600160a01b038516815283602082015261ffff83166040820152608060608201526000610fa360808301846134a8565b60408152600061415b60408301856134a8565b828103602084015261238c81856134a8565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526141a360e08401826134a8565b90506060850151603f198483030160a08501526141c082826134a8565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b6000604082840312156141f857600080fd5b614200613cfc565b825181526020928301519281019290925250919050565b60006040828403121561422957600080fd5b610f1a83836141e6565b601f821115611bd157806000526020600020601f840160051c8101602085101561425a5750805b601f840160051c820191505b8181101561191c5760008155600101614266565b815167ffffffffffffffff81111561429457614294613ca0565b6142a8816142a28454613c36565b84614233565b6020601f8211600181146142dc57600083156142c45750848201515b600019600385901b1c1916600184901b17845561191c565b600084815260208120601f198516915b8281101561430c57878501518255602094850194600190920191016142ec565b508482101561432a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156143bd57603f19878603018452815163ffffffff815116865261ffff602082015116602087015260408101519050606060408701526143a760608701826134a8565b9550506020938401939190910190600101614361565b50929695505050505050565b600060408284031280156143dc57600080fd5b506143e5613cfc565b823581526020928301359281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b60008261442f57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610b3757610b376143fc565b80356020831015610b3757600019602084900360031b1b1692915050565b803577ffffffffffffffffffffffffffffffffffffffffffffffff1981169060088410156144ba5777ffffffffffffffffffffffffffffffffffffffffffffffff19808560080360031b1b82161691505b5092915050565b77ffffffffffffffffffffffffffffffffffffffffffffffff198560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201526000825161452881602c850160208701613484565b91909101602c0195945050505050565b84815277ffffffffffffffffffffffffffffffffffffffffffffffff198460c01b1660208201528260288201526000825161457a816048850160208701613484565b9190910160480195945050505050565b6000608082840312801561459d57600080fd5b506145a6613cd3565b8251815260208301516145b881613fee565b60208201526145ca84604085016141e6565b60408201529392505050565b634e487b7160e01b600052602160045260246000fd5b80820180821115610b3757610b376143fc56fea264697066735822122010dc6516c01c76101397f9cd6bced9038a00b6b330b5512e38f282d5a672815c64736f6c634300081c00330000000000000000000000001a44076050125825900e736c501f859c50fe728c000000000000000000000000ec7eb5ae8758a336073cf72fa60290e322b13457
Deployed Bytecode
0x6080604052600436106103555760003560e01c80637a9e5e4b116101bb578063b98bd070116100f7578063d045a0dc11610095578063dd62ed3e1161006f578063dd62ed3e14610a0b578063f2fde38b14610a51578063fc0c546a14610609578063ff7bd03d14610a7157600080fd5b8063d045a0dc146109b8578063d4243885146109cb578063d505accf146109eb57600080fd5b8063bd815db0116100d1578063bd815db01461093f578063bf7e214f14610952578063c7c7f5b314610977578063ca5eb5e11461099857600080fd5b8063b98bd070146108d2578063bb0b6a53146108f2578063bc70b3541461091f57600080fd5b8063857749b011610164578063963efcaa1161013e578063963efcaa1461084a5780639f68b9641461087e578063a9059cbb14610892578063b731ea0a146108b257600080fd5b8063857749b0146108035780638da5cb5b1461081757806395d89b411461083557600080fd5b806382413eac1161019557806382413eac146107a65780638456cb59146107c657806384b0196e146107db57600080fd5b80637a9e5e4b1461072a5780637d25a05e1461074a5780637ecebe001461078657600080fd5b80633400288b116102955780635535d461116102335780635e280f111161020d5780635e280f111461068b5780636fc1b31e146106bf57806370a08231146106df578063715018a61461071557600080fd5b80635535d4611461061c5780635a0dfe4d1461063c5780635c975abb1461067357600080fd5b80633f4ba83a1161026f5780633f4ba83a146105b457806340c10f19146105c957806342966c68146105e957806352ae28791461060957600080fd5b80633400288b146105525780633644e515146105725780633b6f743b1461058757600080fd5b8063134d4f251161030257806318160ddd116102dc57806318160ddd146104dc5780631f5e1334146104fb57806323b872dd14610510578063313ce5671461053057600080fd5b8063134d4f2514610451578063156a0d0f1461047957806317442b70146104ba57600080fd5b80630f93b45e116103335780630f93b45e146103e4578063111ecdad1461040657806313137d651461043e57600080fd5b806306fdde031461035a578063095ea7b3146103855780630d35b415146103b5575b600080fd5b34801561036657600080fd5b5061036f610a91565b60405161037c91906134d4565b60405180910390f35b34801561039157600080fd5b506103a56103a03660046134fc565b610b23565b604051901515815260200161037c565b3480156103c157600080fd5b506103d56103d0366004613540565b610b3d565b60405161037c93929190613575565b3480156103f057600080fd5b506104046103ff3660046134fc565b610cce565b005b34801561041257600080fd5b50600454610426906001600160a01b031681565b6040516001600160a01b03909116815260200161037c565b61040461044c36600461368b565b610e0e565b34801561045d57600080fd5b50610466600281565b60405161ffff909116815260200161037c565b34801561048557600080fd5b50604080517f02e49c2c000000000000000000000000000000000000000000000000000000008152600160208201520161037c565b3480156104c657600080fd5b506040805160018152600260208201520161037c565b3480156104e857600080fd5b506007545b60405190815260200161037c565b34801561050757600080fd5b50610466600181565b34801561051c57600080fd5b506103a561052b36600461372e565b610efb565b34801561053c57600080fd5b5060125b60405160ff909116815260200161037c565b34801561055e57600080fd5b5061040461056d366004613788565b610f21565b34801561057e57600080fd5b506104ed610f37565b34801561059357600080fd5b506105a76105a23660046137b2565b610f46565b60405161037c9190613804565b3480156105c057600080fd5b50610404610fad565b3480156105d557600080fd5b506104046105e43660046134fc565b61107b565b3480156105f557600080fd5b5061040461060436600461381b565b611151565b34801561061557600080fd5b5030610426565b34801561062857600080fd5b5061036f610637366004613846565b611166565b34801561064857600080fd5b506103a5610657366004613788565b63ffffffff919091166000908152600160205260409020541490565b34801561067f57600080fd5b50600d5460ff166103a5565b34801561069757600080fd5b506104267f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b3480156106cb57600080fd5b506104046106da366004613879565b61120b565b3480156106eb57600080fd5b506104ed6106fa366004613879565b6001600160a01b031660009081526005602052604090205490565b34801561072157600080fd5b50610404611275565b34801561073657600080fd5b50610404610745366004613879565b611287565b34801561075657600080fd5b5061076d610765366004613788565b600092915050565b60405167ffffffffffffffff909116815260200161037c565b34801561079257600080fd5b506104ed6107a1366004613879565b611354565b3480156107b257600080fd5b506103a56107c1366004613896565b611372565b3480156107d257600080fd5b50610404611387565b3480156107e757600080fd5b506107f0611453565b60405161037c97969594939291906138fd565b34801561080f57600080fd5b506006610540565b34801561082357600080fd5b506000546001600160a01b0316610426565b34801561084157600080fd5b5061036f6114b5565b34801561085657600080fd5b506104ed7f000000000000000000000000000000000000000000000000000000e8d4a5100081565b34801561088a57600080fd5b5060006103a5565b34801561089e57600080fd5b506103a56108ad3660046134fc565b6114c4565b3480156108be57600080fd5b50600254610426906001600160a01b031681565b3480156108de57600080fd5b506104046108ed3660046139f6565b6114d2565b3480156108fe57600080fd5b506104ed61090d366004613a38565b60016020526000908152604090205481565b34801561092b57600080fd5b5061036f61093a366004613a53565b6114ec565b61040461094d3660046139f6565b6116ad565b34801561095e57600080fd5b50600d546104269061010090046001600160a01b031681565b61098a610985366004613ab4565b611850565b60405161037c929190613b22565b3480156109a457600080fd5b506104046109b3366004613879565b611884565b6104046109c636600461368b565b611923565b3480156109d757600080fd5b506104046109e6366004613879565b61196b565b3480156109f757600080fd5b50610404610a06366004613b75565b6119ce565b348015610a1757600080fd5b506104ed610a26366004613bec565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610a5d57600080fd5b50610404610a6c366004613879565b611b3a565b348015610a7d57600080fd5b506103a5610a8c366004613c1a565b611b8e565b606060088054610aa090613c36565b80601f0160208091040260200160405190810160405280929190818152602001828054610acc90613c36565b8015610b195780601f10610aee57610100808354040283529160200191610b19565b820191906000526020600020905b815481529060010190602001808311610afc57829003601f168201915b5050505050905090565b600033610b31818585611bc4565b60019150505b92915050565b60408051808201909152600080825260208201526060610b70604051806040016040528060008152602001600081525090565b600080306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190613c6a565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c369190613c87565b60408051808201825284815260208082018490528251600080825291810190935290975091925090610c8b565b604080518082019091526000815260606020820152815260200190600190039081610c635790505b509350600080610cb0604089013560608a0135610cab60208c018c613a38565b611bd6565b60408051808201909152918252602082015296989597505050505050565b600d546040517fe43581b80000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b03169063e43581b890602401602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d579190613cb6565b610d975760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6040517f1e60fd14000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b03831690631e60fd1490602401600060405180830381600087803b158015610df257600080fd5b505af1158015610e06573d6000803e3d6000fd5b505050505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b03163314610e72576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610d8e565b60208701803590610e8c90610e87908a613a38565b611c2b565b14610ee357610e9e6020880188613a38565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610d8e565b610ef287878787878787611c80565b50505050505050565b600033610f09858285611e00565b610f14858585611e98565b60019150505b9392505050565b610f29611f29565b610f338282611ff8565b5050565b6000610f4161204d565b905090565b60408051808201909152600080825260208201526000610f7660408501356060860135610cab6020880188613a38565b915050600080610f868684612178565b9092509050610fa3610f9b6020880188613a38565b8383886122b4565b9695505050505050565b600d546040517f0c68ba210000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b031690630c68ba2190602401602060405180830381865afa158015611012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110369190613cb6565b6110715760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b611079612395565b565b600d546040517ffad1c85c0000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b03169063fad1c85c90602401602060405180830381865afa1580156110e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111049190613cb6565b61113f5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b6111476123e7565b610f338282612424565b6111596123e7565b6111633382612473565b50565b60036020908152600092835260408084209091529082529020805461118a90613c36565b80601f01602080910402602001604051908101604052809291908181526020018280546111b690613c36565b80156112035780601f106111d857610100808354040283529160200191611203565b820191906000526020600020905b8154815290600101906020018083116111e657829003601f168201915b505050505081565b611213611f29565b6004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b61127d611f29565b61107960006124c2565b600d546040517fe43581b80000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b03169063e43581b890602401602060405180830381865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190613cb6565b61134b5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b6111638161251f565b6001600160a01b0381166000908152600c6020526040812054610b37565b6001600160a01b03811630145b949350505050565b600d546040517f0c68ba210000000000000000000000000000000000000000000000000000000081523360048201526101009091046001600160a01b031690630c68ba2190602401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190613cb6565b61144b5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610d8e565b611079612588565b6000606080600080600060606114676125c5565b61146f6125f2565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606060098054610aa090613c36565b600033610b31818585611e98565b6114da611f29565b610f336114e78284613d78565b61261f565b63ffffffff8416600090815260036020908152604080832061ffff8716845290915281208054606092919061152090613c36565b80601f016020809104026020016040519081016040528092919081815260200182805461154c90613c36565b80156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b5050505050905080516000036115e95783838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945061137f9350505050565b60008390036115f957905061137f565b600283106116775761164084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061272692505050565b8061164e8460028188613ea4565b60405160200161166093929190613ece565b60405160208183030381529060405291505061137f565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610d8e929190613f21565b60005b818110156117b657368383838181106116cb576116cb613f35565b90506020028101906116dd9190613f4b565b90506117106116ef6020830183613a38565b602083013563ffffffff919091166000908152600160205260409020541490565b61171a57506117ae565b3063d045a0dc60c08301358360a0810135611739610100830183613f89565b61174a610100890160e08a01613879565b6117586101208a018a613f89565b6040518963ffffffff1660e01b815260040161177a9796959493929190614004565b6000604051808303818588803b15801561179357600080fd5b505af11580156117a7573d6000803e3d6000fd5b5050505050505b6001016116b0565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156117f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261181d919081019061408b565b6040517f8351eea7000000000000000000000000000000000000000000000000000000008152600401610d8e91906134d4565b61185861343c565b604080518082019091526000808252602082015261187785858561276b565b915091505b935093915050565b61188c611f29565b6040517fca5eb5e10000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e190602401600060405180830381600087803b15801561190857600080fd5b505af115801561191c573d6000803e3d6000fd5b5050505050565b33301461195c576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ef287878787878787610ee3565b611973611f29565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200161126a565b83421115611a0b576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610d8e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611a588c6001600160a01b03166000908152600c6020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611ab382612866565b90506000611ac3828787876128ae565b9050896001600160a01b0316816001600160a01b031614611b23576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401610d8e565b611b2e8a8a8a611bc4565b50505050505050505050565b611b42611f29565b6001600160a01b038116611b85576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b611163816124c2565b6000602082018035906001908390611ba69086613a38565b63ffffffff1681526020810191909152604001600020541492915050565b611bd183838360016128dc565b505050565b600080611be2856129e3565b91508190508381101561187c576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610d8e565b63ffffffff811660009081526001602052604081205480610b37576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610d8e565b6000611c92611c8f8787612a1a565b90565b90506000611cbe82611cac611ca78a8a612a32565b612a55565b611cb960208d018d613a38565b612a8b565b90506028861115611d9e576000611cfb611cde60608c0160408d016140f9565b611ceb60208d018d613a38565b84611cf68c8c612ab3565b612afe565b6040517f7cb590120000000000000000000000000000000000000000000000000000000081529091506001600160a01b037f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb5901290611d6a9086908d906000908790600401614116565b600060405180830381600087803b158015611d8457600080fd5b505af1158015611d98573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c611dd760208d018d613a38565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b6001600160a01b03838116600090815260066020908152604080832093861683529290522054600019811015611e925781811015611e83576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610d8e565b611e92848484840360006128dc565b50505050565b6001600160a01b038316611edb576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b6001600160a01b038216611f1e576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b611bd1838383612b30565b600d5461010090046001600160a01b031663e43581b8336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc09190613cb6565b611079576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610d8e565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6000306001600160a01b037f000000000000000000000000b4444468e444f89e1c2cac2f1d3ee7e336cbd1f5161480156120a657507f000000000000000000000000000000000000000000000000000000000000a4b146145b156120d057507f953b4a1d0782bd60cb5459b92fac1a56e0bbed550a7da98c5410abbea38e855c90565b610f41604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fd56b0ade1482c83f0910040816798c0629ba341be0472a6c1b0e93e23c3c7f64918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60608060006121d5856020013561218e86612b8e565b61219b60a0890189613f89565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612bba92505050565b90935090506000816121e85760016121eb565b60025b905061220b6121fd6020880188613a38565b8261093a60808a018a613f89565b6004549093506001600160a01b031680156122aa576040517f043a78eb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063043a78eb906122679088908890600401614148565b602060405180830381865afa158015612284573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a89190613cb6565b505b5050509250929050565b60408051808201909152600080825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161231789611c2b565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161234c92919061416d565b6040805180830381865afa158015612368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238c9190614217565b95945050505050565b61239d612c45565b600d805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600d5460ff1615611079576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216612467576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b610f3360008383612b30565b6001600160a01b0382166124b6576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b610f3382600083612b30565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600d80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038416908102919091179091556040517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a250565b6125906123e7565b600d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123ca3390565b6060610f417f52657a6572766500000000000000000000000000000000000000000000000007600a612c81565b6060610f417f3100000000000000000000000000000000000000000000000000000000000001600b612c81565b60005b81518110156126f65761265182828151811061264057612640613f35565b602002602001015160400151612726565b81818151811061266357612663613f35565b6020026020010151604001516003600084848151811061268557612685613f35565b60200260200101516000015163ffffffff1663ffffffff16815260200190815260200160002060008484815181106126bf576126bf613f35565b60200260200101516020015161ffff1661ffff16815260200190815260200160002090816126ed919061427a565b50600101612622565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6748160405161126a9190614339565b600281015161ffff8116600314610f3357816040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610d8e91906134d4565b61277361343c565b60408051808201909152600080825260208201526000806127aa33604089013560608a01356127a560208c018c613a38565b612d2c565b915091506000806127bb8984612178565b90925090506127e76127d060208b018b613a38565b83836127e1368d90038d018d6143c9565b8b612d52565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90612835908d018d613a38565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6000610b3761287361204d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000806128c088888888612e5d565b9250925092506128d08282612f2c565b50909695505050505050565b6001600160a01b03841661291f576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b6001600160a01b038316612962576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610d8e565b6001600160a01b0380851660009081526006602090815260408083209387168352929052208290558015611e9257826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516129d591815260200190565b60405180910390a350505050565b60007f000000000000000000000000000000000000000000000000000000e8d4a51000612a108184614412565b610b379190614434565b6000612a296020828486613ea4565b610f1a9161444b565b6000612a42602860208486613ea4565b612a4b91614469565b60c01c9392505050565b6000610b377f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8416614434565b60006001600160a01b038416612aa15761dead93505b612aab8484612424565b509092915050565b6060612ac28260288186613ea4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001612b1794939291906144c1565b6040516020818303038152906040529050949350505050565b612b3b838383613030565b600d5460ff1615611bd15760405162461bcd60e51b815260206004820152600b60248201527f525a523a207061757365640000000000000000000000000000000000000000006044820152606401610d8e565b6000610b377f000000000000000000000000000000000000000000000000000000e8d4a5100083614412565b8051606090151580612c14578484604051602001612c0092919091825260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff1916602082015260280190565b604051602081830303815290604052612c3b565b84843385604051602001612c2b9493929190614538565b6040516020818303038152906040525b9150935093915050565b600d5460ff16611079576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060ff8314612c9b57612c9483613173565b9050610b37565b818054612ca790613c36565b80601f0160208091040260200160405190810160405280929190818152602001828054612cd390613c36565b8015612d205780601f10612cf557610100808354040283529160200191612d20565b820191906000526020600020905b815481529060010190602001808311612d0357829003601f168201915b50505050509050610b37565b600080612d3a858585611bd6565b9092509050612d498683612473565b94509492505050565b612d5a61343c565b6000612d6984600001516131b2565b602085015190915015612d8357612d8384602001516131f3565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001612dd38c611c2b565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401612e0f92919061416d565b60806040518083038185885af1158015612e2d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e52919061458a565b979650505050505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612e985750600091506003905082612f22565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612eec573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612f1857506000925060019150829050612f22565b9250600091508190505b9450945094915050565b6000826003811115612f4057612f406145d6565b03612f49575050565b6001826003811115612f5d57612f5d6145d6565b03612f94576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115612fa857612fa86145d6565b03612fe2576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610d8e565b6003826003811115612ff657612ff66145d6565b03610f33576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610d8e565b6001600160a01b03831661305b57806007600082825461305091906145ec565b909155506130e69050565b6001600160a01b038316600090815260056020526040902054818110156130c7576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024810182905260448101839052606401610d8e565b6001600160a01b03841660009081526005602052604090209082900390555b6001600160a01b03821661310257600780548290039055613121565b6001600160a01b03821660009081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161316691815260200190565b60405180910390a3505050565b60606000613180836132ee565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60008134146131ef576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610d8e565b5090565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015613253573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132779190613c6a565b90506001600160a01b0381166132b9576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f336001600160a01b038216337f0000000000000000000000001a44076050125825900e736c501f859c50fe728c8561332f565b600060ff8216601f811115610b37576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516001600160a01b038581166024830152841660448201526064808201849052825180830390910181526084909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001781528251611e92938893909260009283929183919082885af1806133d5576040513d6000823e3d81fd5b50506000513d915081156133ed5780600114156133fa565b6001600160a01b0384163b155b15611e92576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610d8e565b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161347f604051806040016040528060008152602001600081525090565b905290565b60005b8381101561349f578181015183820152602001613487565b50506000910152565b600081518084526134c0816020860160208601613484565b601f01601f19169290920160200192915050565b602081526000610f1a60208301846134a8565b6001600160a01b038116811461116357600080fd5b6000806040838503121561350f57600080fd5b823561351a816134e7565b946020939093013593505050565b600060e0828403121561353a57600080fd5b50919050565b60006020828403121561355257600080fd5b813567ffffffffffffffff81111561356957600080fd5b61137f84828501613528565b8351815260208085015190820152600060a0820160a0604084015280855180835260c08501915060c08160051b86010192506020870160005b82811015613614577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4087860301845281518051865260208101519050604060208701526135fe60408701826134a8565b95505060209384019391909101906001016135ae565b505085516060860152505060208401516080840152905061137f565b60006060828403121561353a57600080fd5b60008083601f84011261365457600080fd5b50813567ffffffffffffffff81111561366c57600080fd5b60208301915083602082850101111561368457600080fd5b9250929050565b600080600080600080600060e0888a0312156136a657600080fd5b6136b08989613630565b965060608801359550608088013567ffffffffffffffff8111156136d357600080fd5b6136df8a828b01613642565b90965094505060a08801356136f3816134e7565b925060c088013567ffffffffffffffff81111561370f57600080fd5b61371b8a828b01613642565b989b979a50959850939692959293505050565b60008060006060848603121561374357600080fd5b833561374e816134e7565b9250602084013561375e816134e7565b929592945050506040919091013590565b803563ffffffff8116811461378357600080fd5b919050565b6000806040838503121561379b57600080fd5b61351a8361376f565b801515811461116357600080fd5b600080604083850312156137c557600080fd5b823567ffffffffffffffff8111156137dc57600080fd5b6137e885828601613528565b92505060208301356137f9816137a4565b809150509250929050565b815181526020808301519082015260408101610b37565b60006020828403121561382d57600080fd5b5035919050565b803561ffff8116811461378357600080fd5b6000806040838503121561385957600080fd5b6138628361376f565b915061387060208401613834565b90509250929050565b60006020828403121561388b57600080fd5b8135610f1a816134e7565b60008060008060a085870312156138ac57600080fd5b6138b68686613630565b9350606085013567ffffffffffffffff8111156138d257600080fd5b6138de87828801613642565b90945092505060808501356138f2816134e7565b939692955090935050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e06020820152600061393860e08301896134a8565b828103604084015261394a81896134a8565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501528451808252602080870193509091019060005b818110156139a0578351835260209384019390920191600101613982565b50909b9a5050505050505050505050565b60008083601f8401126139c357600080fd5b50813567ffffffffffffffff8111156139db57600080fd5b6020830191508360208260051b850101111561368457600080fd5b60008060208385031215613a0957600080fd5b823567ffffffffffffffff811115613a2057600080fd5b613a2c858286016139b1565b90969095509350505050565b600060208284031215613a4a57600080fd5b610f1a8261376f565b60008060008060608587031215613a6957600080fd5b613a728561376f565b9350613a8060208601613834565b9250604085013567ffffffffffffffff811115613a9c57600080fd5b613aa887828801613642565b95989497509550505050565b60008060008385036080811215613aca57600080fd5b843567ffffffffffffffff811115613ae157600080fd5b613aed87828801613528565b9450506040601f1982011215613b0257600080fd5b506020840191506060840135613b17816134e7565b809150509250925092565b600060c0820190508351825267ffffffffffffffff60208501511660208301526040840151613b5e604084018280518252602090810151910152565b5082516080830152602083015160a0830152610f1a565b600080600080600080600060e0888a031215613b9057600080fd5b8735613b9b816134e7565b96506020880135613bab816134e7565b95506040880135945060608801359350608088013560ff81168114613bcf57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215613bff57600080fd5b8235613c0a816134e7565b915060208301356137f9816134e7565b600060608284031215613c2c57600080fd5b610f1a8383613630565b600181811c90821680613c4a57607f821691505b60208210810361353a57634e487b7160e01b600052602260045260246000fd5b600060208284031215613c7c57600080fd5b8151610f1a816134e7565b600060208284031215613c9957600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215613cc857600080fd5b8151610f1a816137a4565b6040516060810167ffffffffffffffff81118282101715613cf657613cf6613ca0565b60405290565b6040805190810167ffffffffffffffff81118282101715613cf657613cf6613ca0565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d4857613d48613ca0565b604052919050565b600067ffffffffffffffff821115613d6a57613d6a613ca0565b50601f01601f191660200190565b600067ffffffffffffffff831115613d9257613d92613ca0565b8260051b613da260208201613d1f565b84815290830190602081019036831115613dbb57600080fd5b845b83811015613e9a57803567ffffffffffffffff811115613ddc57600080fd5b86016060368290031215613def57600080fd5b613df7613cd3565b613e008261376f565b8152613e0e60208301613834565b6020820152604082013567ffffffffffffffff811115613e2d57600080fd5b919091019036601f830112613e4157600080fd5b8135613e54613e4f82613d50565b613d1f565b818152366020838601011115613e6957600080fd5b8160208501602083013760006020838301015280604084015250508085525050602083019250602081019050613dbd565b5095945050505050565b60008085851115613eb457600080fd5b83861115613ec157600080fd5b5050820193919092039150565b60008451613ee0818460208901613484565b8201838582376000930192835250909392505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600061137f602083018486613ef6565b634e487b7160e01b600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112613f7f57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613fbe57600080fd5b83018035915067ffffffffffffffff821115613fd957600080fd5b60200191503681900382131561368457600080fd5b67ffffffffffffffff8116811461116357600080fd5b63ffffffff6140128961376f565b168152602088810135908201526000604089013561402f81613fee565b67ffffffffffffffff811660408401525087606083015260e0608083015261405b60e083018789613ef6565b6001600160a01b03861660a084015282810360c084015261407d818587613ef6565b9a9950505050505050505050565b60006020828403121561409d57600080fd5b815167ffffffffffffffff8111156140b457600080fd5b8201601f810184136140c557600080fd5b80516140d3613e4f82613d50565b8181528560208385010111156140e857600080fd5b61238c826020830160208601613484565b60006020828403121561410b57600080fd5b8135610f1a81613fee565b6001600160a01b038516815283602082015261ffff83166040820152608060608201526000610fa360808301846134a8565b60408152600061415b60408301856134a8565b828103602084015261238c81856134a8565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526141a360e08401826134a8565b90506060850151603f198483030160a08501526141c082826134a8565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b6000604082840312156141f857600080fd5b614200613cfc565b825181526020928301519281019290925250919050565b60006040828403121561422957600080fd5b610f1a83836141e6565b601f821115611bd157806000526020600020601f840160051c8101602085101561425a5750805b601f840160051c820191505b8181101561191c5760008155600101614266565b815167ffffffffffffffff81111561429457614294613ca0565b6142a8816142a28454613c36565b84614233565b6020601f8211600181146142dc57600083156142c45750848201515b600019600385901b1c1916600184901b17845561191c565b600084815260208120601f198516915b8281101561430c57878501518255602094850194600190920191016142ec565b508482101561432a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156143bd57603f19878603018452815163ffffffff815116865261ffff602082015116602087015260408101519050606060408701526143a760608701826134a8565b9550506020938401939190910190600101614361565b50929695505050505050565b600060408284031280156143dc57600080fd5b506143e5613cfc565b823581526020928301359281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b60008261442f57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610b3757610b376143fc565b80356020831015610b3757600019602084900360031b1b1692915050565b803577ffffffffffffffffffffffffffffffffffffffffffffffff1981169060088410156144ba5777ffffffffffffffffffffffffffffffffffffffffffffffff19808560080360031b1b82161691505b5092915050565b77ffffffffffffffffffffffffffffffffffffffffffffffff198560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201526000825161452881602c850160208701613484565b91909101602c0195945050505050565b84815277ffffffffffffffffffffffffffffffffffffffffffffffff198460c01b1660208201528260288201526000825161457a816048850160208701613484565b9190910160480195945050505050565b6000608082840312801561459d57600080fd5b506145a6613cd3565b8251815260208301516145b881613fee565b60208201526145ca84604085016141e6565b60408201529392505050565b634e487b7160e01b600052602160045260246000fd5b80820180821115610b3757610b376143fc56fea264697066735822122010dc6516c01c76101397f9cd6bced9038a00b6b330b5512e38f282d5a672815c64736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001a44076050125825900e736c501f859c50fe728c000000000000000000000000ec7eb5ae8758a336073cf72fa60290e322b13457
-----Decoded View---------------
Arg [0] : _lzEndpoint (address): 0x1a44076050125825900e736c501f859c50fE728c
Arg [1] : _authority (address): 0xeC7Eb5Ae8758a336073cF72fA60290E322b13457
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001a44076050125825900e736c501f859c50fe728c
Arg [1] : 000000000000000000000000ec7eb5ae8758a336073cf72fa60290e322b13457
🤖 Code Reader Beta
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)