[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "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": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "DevelopmentWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "LiquidityWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "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": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "TeamWalletUpdated", "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" }, { "inputs": [ { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "addLiquidity", "outputs": [], "stateMutability": "payable", "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": [ { "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "bulkExcludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "developmentWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_tradingActive", "type": "bool" }, { "internalType": "bool", "name": "_swapEnabled", "type": "bool" } ], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isAccountExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_developmentFee", "type": "uint256" } ], "name": "setBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_developmentWallet", "type": "address" } ], "name": "setDevelopmentWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityWallet", "type": "address" } ], "name": "setLiquidityWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_developmentFee", "type": "uint256" } ], "name": "setSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_teamWallet", "type": "address" } ], "name": "setTeamWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "teamWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tkn", "type": "address" } ], "name": "withdrawStuckTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a0604052600780546001600160a01b031990811673a1823da83de6ff2aaade64d44e330ead8ee6278f17909155600880548216739f7243b734c43603a63ff27eaf9a62df8de686f61790556009805482167348845454f97a1aeefb8bdf609045ad70ff0fc606179055600a805490911673bf56183c719ffa7175362d67f02e40e713a149d517905534801562000094575f80fd5b503360405180604001604052806004815260200163546f6e7960e01b81525060405180604001604052806004815260200163544f4e5960e01b8152508160039081620000e1919062000725565b506004620000f0828262000725565b5050506001600160a01b0381166200012257604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6200012d81620002e1565b50734752ba5dbc23f44d87826276bf6fd6b1c372ad2460808190526b204fce5e3e2502611000000090620001659030905f1962000332565b62000174620f42408262000801565b600b556101f4600c556105dc600d556200018f308262000346565b5f60646200019f83600a62000821565b620001ab919062000801565b90505f6064620001bd84600262000821565b620001c9919062000801565b90505f6064620001db85600262000821565b620001e7919062000801565b600754909150620002049030906001600160a01b03168562000382565b600a546200021e9030906001600160a01b03168462000382565b600854620002389030906001600160a01b03168362000382565b620002576200024f6005546001600160a01b031690565b6001620003e5565b62000264306001620003e5565b6200027361dead6001620003e5565b6007546200028c906001600160a01b03166001620003e5565b600854620002a5906001600160a01b03166001620003e5565b600954620002be906001600160a01b03166001620003e5565b600a54620002d7906001600160a01b03166001620003e5565b5050505062000857565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6200034183838360016200044d565b505050565b6001600160a01b038216620003715760405163ec442f0560e01b81525f600482015260240162000119565b6200037e5f838362000526565b5050565b6001600160a01b038316620003ad57604051634b637e8f60e11b81525f600482015260240162000119565b6001600160a01b038216620003d85760405163ec442f0560e01b81525f600482015260240162000119565b6200034183838362000526565b620003ef62000655565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038416620004785760405163e602df0560e01b81525f600482015260240162000119565b6001600160a01b038316620004a357604051634a1406b160e11b81525f600482015260240162000119565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156200052057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516200051791815260200190565b60405180910390a35b50505050565b6001600160a01b03831662000554578060025f82825462000548919062000841565b90915550620005c69050565b6001600160a01b0383165f9081526020819052604090205481811015620005a85760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640162000119565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216620005e45760028054829003905562000602565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200064891815260200190565b60405180910390a3505050565b6005546001600160a01b03163314620006845760405163118cdaa760e01b815233600482015260240162000119565b565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620006af57607f821691505b602082108103620006ce57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000341575f81815260208120601f850160051c81016020861015620006fc5750805b601f850160051c820191505b818110156200071d5782815560010162000708565b505050505050565b81516001600160401b0381111562000741576200074162000686565b62000759816200075284546200069a565b84620006d4565b602080601f8311600181146200078f575f8415620007775750858301515b5f19600386901b1c1916600185901b1785556200071d565b5f85815260208120601f198616915b82811015620007bf578886015182559484019460019091019084016200079e565b5085821015620007dd57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b5f826200081c57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176200083b576200083b620007ed565b92915050565b808201808211156200083b576200083b620007ed565b608051611ac76200088c5f395f81816102ff01528181610b5c01528181610beb01528181610cfe0152610d250152611ac75ff3fe60806040526004361061022b575f3560e01c8063715018a611610129578063c04a5414116100a8578063dcf7aef31161006d578063dcf7aef314610685578063dd62ed3e146106a4578063e01af92c146106e8578063e2f4560514610707578063f2fde38b1461071c575f80fd5b8063c04a5414146105dc578063cb963728146105fb578063d46980161461061a578063d85ba06314610639578063da3e78ea1461064e575f80fd5b806395d89b41116100ee57806395d89b411461054b578063a9059cbb1461055f578063afa4f3b21461057e578063bbc0c7421461059d578063c0246668146105bd575f80fd5b8063715018a6146104bd57806372ac2486146104d157806375f0a874146104f05780638da5cb5b1461050f57806395927c251461052c575f80fd5b8063296f0a0c116101b5578063599270441161017a57806359927044146104165780635d098b38146104355780636a486a8e146104545780636ddd17131461046957806370a0823114610489575f80fd5b8063296f0a0c1461038b578063313ce567146103aa57806342966c68146103c557806349bd5a5e146103e457806351c6590a14610403575f80fd5b8063155ca7c1116101fb578063155ca7c1146102cf5780631694505e146102ee57806318160ddd1461033957806323b872dd1461035757806327c8f83514610376575f80fd5b806306fdde0314610236578063095ea7b31461026057806313661d711461028f5780631525ff7d146102b0575f80fd5b3661023257005b5f80fd5b348015610241575f80fd5b5061024a61073b565b60405161025791906116c3565b60405180910390f35b34801561026b575f80fd5b5061027f61027a366004611722565b6107cb565b6040519015158152602001610257565b34801561029a575f80fd5b506102ae6102a9366004611759565b6107e4565b005b3480156102bb575f80fd5b506102ae6102ca366004611790565b610820565b3480156102da575f80fd5b506102ae6102e93660046117b2565b6108a7565b3480156102f9575f80fd5b506103217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610257565b348015610344575f80fd5b506002545b604051908152602001610257565b348015610362575f80fd5b5061027f610371366004611831565b61098e565b348015610381575f80fd5b5061032161dead81565b348015610396575f80fd5b506102ae6103a5366004611790565b6109b1565b3480156103b5575f80fd5b5060405160128152602001610257565b3480156103d0575f80fd5b506102ae6103df36600461186f565b610a2f565b3480156103ef575f80fd5b50600654610321906001600160a01b031681565b6102ae61041136600461186f565b610a3c565b348015610421575f80fd5b50600a54610321906001600160a01b031681565b348015610440575f80fd5b506102ae61044f366004611790565b610dfb565b34801561045f575f80fd5b50610349600d5481565b348015610474575f80fd5b50600a5461027f90600160a81b900460ff1681565b348015610494575f80fd5b506103496104a3366004611790565b6001600160a01b03165f9081526020819052604090205490565b3480156104c8575f80fd5b506102ae610e79565b3480156104dc575f80fd5b506102ae6104eb366004611790565b610e8c565b3480156104fb575f80fd5b50600754610321906001600160a01b031681565b34801561051a575f80fd5b506005546001600160a01b0316610321565b348015610537575f80fd5b506102ae61054636600461186f565b610f0a565b348015610556575f80fd5b5061024a610f39565b34801561056a575f80fd5b5061027f610579366004611722565b610f48565b348015610589575f80fd5b506102ae61059836600461186f565b610f55565b3480156105a8575f80fd5b50600a5461027f90600160a01b900460ff1681565b3480156105c8575f80fd5b506102ae6105d7366004611886565b61108f565b3480156105e7575f80fd5b50600854610321906001600160a01b031681565b348015610606575f80fd5b506102ae610615366004611790565b6110f5565b348015610625575f80fd5b50600954610321906001600160a01b031681565b348015610644575f80fd5b50610349600c5481565b348015610659575f80fd5b5061027f610668366004611790565b6001600160a01b03165f9081526011602052604090205460ff1690565b348015610690575f80fd5b506102ae61069f36600461186f565b6112a6565b3480156106af575f80fd5b506103496106be3660046118a2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156106f3575f80fd5b506102ae6107023660046118ce565b6112d5565b348015610712575f80fd5b50610349600b5481565b348015610727575f80fd5b506102ae610736366004611790565b6112fb565b60606003805461074a906118e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610776906118e9565b80156107c15780601f10610798576101008083540402835291602001916107c1565b820191905f5260205f20905b8154815290600101906020018083116107a457829003601f168201915b5050505050905090565b5f336107d8818585611335565b60019150505b92915050565b6107ec611347565b600a805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b610828611347565b6001600160a01b0381166108575760405162461bcd60e51b815260040161084e90611921565b60405180910390fd5b600a80546001600160a01b038381166001600160a01b03198316811790935560405191169182917fd9a2a08302ed3220f4e646ff99d6780d87e27baddf1af05679dc930ce8113095905f90a35050565b6108af611347565b5f5b82811015610988578160115f8686858181106108cf576108cf61194b565b90506020020160208101906108e49190611790565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905583838281811061091d5761091d61194b565b90506020020160208101906109329190611790565b6001600160a01b03167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78360405161096e911515815260200190565b60405180910390a28061098081611973565b9150506108b1565b50505050565b5f3361099b858285611374565b6109a68585856113e9565b506001949350505050565b6109b9611347565b6001600160a01b0381166109df5760405162461bcd60e51b815260040161084e90611921565b600980546001600160a01b038381166001600160a01b03198316811790935560405191169182917f6080503d1da552ae8eb4b7b8a20245d9fabed014180510e7d1a05ea08fdb0f3e905f90a35050565b610a393382611446565b50565b610a44611347565b600a54600160a01b900460ff1615610a9e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c7265616479206163746976652e000000000000000000604482015260640161084e565b305f90815260208190526040902054811115610afc5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000604482015260640161084e565b3480610b4a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f2045544820746f20616464206173206c6971756964697479000000000000604482015260640161084e565b6006546001600160a01b0316610cf8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bda919061198b565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c69919061198b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610cb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd7919061198b565b600680546001600160a01b0319166001600160a01b03929092169190911790555b610d23307f000000000000000000000000000000000000000000000000000000000000000084611335565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198230855f80610d696005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dcf573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610df491906119a6565b5050505050565b610e03611347565b6001600160a01b038116610e295760405162461bcd60e51b815260040161084e90611921565b600780546001600160a01b038381166001600160a01b03198316811790935560405191169182917f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc67905f90a35050565b610e81611347565b610e8a5f61147a565b565b610e94611347565b6001600160a01b038116610eba5760405162461bcd60e51b815260040161084e90611921565b600880546001600160a01b038381166001600160a01b03198316811790935560405191169182917f94cc1498503be9a145caf3e96f856665f29cf9b26c7179a93fbe1c1e5f56a0fd905f90a35050565b610f12611347565b612710811115610f345760405162461bcd60e51b815260040161084e906119d1565b600d55565b60606004805461074a906118e9565b5f336107d88185856113e9565b610f5d611347565b620186a0610f6a60025490565b610f75906001611a16565b610f7f9190611a2d565b811015610ff45760405162461bcd60e51b815260206004820152603c60248201527f45524332303a205377617020616d6f756e742063616e6e6f74206265206c6f7760448201527f6572207468616e20302e3030312520746f74616c20737570706c792e00000000606482015260840161084e565b6103e861100060025490565b61100b906005611a16565b6110159190611a2d565b81111561108a5760405162461bcd60e51b815260206004820152603b60248201527f45524332303a205377617020616d6f756e742063616e6e6f742062652068696760448201527f686572207468616e20302e352520746f74616c20737570706c792e0000000000606482015260840161084e565b600b55565b611097611347565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6008546001600160a01b031633146111435760405162461bcd60e51b815260206004820152601160248201527013db9b1e4811195d8810d85b8810d85b1b607a1b604482015260640161084e565b5f6001600160a01b03821661118f57604051339047905f81818185875af1925050503d805f8114610df4576040519150601f19603f3d011682016040523d82523d5f602084013e610df4565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156111d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f79190611a4c565b90505f81116112345760405162461bcd60e51b81526020600482015260096024820152684e6f20746f6b656e7360b81b604482015260640161084e565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0384169063a9059cbb906044016020604051808303815f875af115801561127e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109889190611a63565b5050565b6112ae611347565b6127108111156112d05760405162461bcd60e51b815260040161084e906119d1565b600c55565b6112dd611347565b600a8054911515600160a81b0260ff60a81b19909216919091179055565b611303611347565b6001600160a01b03811661132c57604051631e4fbdf760e01b81525f600482015260240161084e565b610a398161147a565b61134283838360016114cb565b505050565b6005546001600160a01b03163314610e8a5760405163118cdaa760e01b815233600482015260240161084e565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461098857818110156113db57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161084e565b61098884848484035f6114cb565b6001600160a01b03831661141257604051634b637e8f60e11b81525f600482015260240161084e565b6001600160a01b03821661143b5760405163ec442f0560e01b81525f600482015260240161084e565b61134283838361159d565b6001600160a01b03821661146f57604051634b637e8f60e11b81525f600482015260240161084e565b6112a2825f8361159d565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0384166114f45760405163e602df0560e01b81525f600482015260240161084e565b6001600160a01b03831661151d57604051634a1406b160e11b81525f600482015260240161084e565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561098857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161158f91815260200190565b60405180910390a350505050565b6001600160a01b0383166115c7578060025f8282546115bc9190611a7e565b909155506116379050565b6001600160a01b0383165f90815260208190526040902054818110156116195760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161084e565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661165357600280548290039055611671565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b691815260200190565b60405180910390a3505050565b5f6020808352835180828501525f5b818110156116ee578581018301518582016040015282016116d2565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a39575f80fd5b5f8060408385031215611733575f80fd5b823561173e8161170e565b946020939093013593505050565b8015158114610a39575f80fd5b5f806040838503121561176a575f80fd5b82356117758161174c565b915060208301356117858161174c565b809150509250929050565b5f602082840312156117a0575f80fd5b81356117ab8161170e565b9392505050565b5f805f604084860312156117c4575f80fd5b833567ffffffffffffffff808211156117db575f80fd5b818601915086601f8301126117ee575f80fd5b8135818111156117fc575f80fd5b8760208260051b8501011115611810575f80fd5b602092830195509350508401356118268161174c565b809150509250925092565b5f805f60608486031215611843575f80fd5b833561184e8161170e565b9250602084013561185e8161170e565b929592945050506040919091013590565b5f6020828403121561187f575f80fd5b5035919050565b5f8060408385031215611897575f80fd5b82356117758161170e565b5f80604083850312156118b3575f80fd5b82356118be8161170e565b915060208301356117858161170e565b5f602082840312156118de575f80fd5b81356117ab8161174c565b600181811c908216806118fd57607f821691505b60208210810361191b57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526010908201526f045524332303a204164647265737320360841b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016119845761198461195f565b5060010190565b5f6020828403121561199b575f80fd5b81516117ab8161170e565b5f805f606084860312156119b8575f80fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f45524332303a204d757374206b65657020666565732061742031303025206f72604082015264206c65737360d81b606082015260800190565b80820281158282048414176107de576107de61195f565b5f82611a4757634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611a5c575f80fd5b5051919050565b5f60208284031215611a73575f80fd5b81516117ab8161174c565b808201808211156107de576107de61195f56fea2646970667358221220dffd7e8b2e072363c07b5b2af347447124bfcd84ac3d124520dd7820c867e64a64736f6c63430008140033