[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "newDevWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldDevWallet", "type": "address" } ], "name": "DevWalletUpdated", "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": false, "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeMultipleAccountsFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokenAmountSent", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "avaxAmountSent", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "liquidity", "type": "uint256" } ], "name": "LiquidityAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newMarketingWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldMarketingWallet", "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": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForAVAX", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newTeamWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldTeamWallet", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateJoeRouter", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_startTimeForSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "antiBotEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "antiBotFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "collectedFeeTotal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devPortionOfSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isInPresale", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPortionOfSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingPortionOfSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presaleAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferFee", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rfiFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IJoeRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setExcludedFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "divisor", "type": "uint256" } ], "name": "setFeesDivisor", "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": "pure", "type": "function" }, { "inputs": [], "name": "takeFeeEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "teamFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "teamPortionOfSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "teamWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalCollectedFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "tradingIsEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": [ { "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "updateDevFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "updateLpFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "updateMarketingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "marketingPortion", "type": "uint256" }, { "internalType": "uint256", "name": "devPortion", "type": "uint256" }, { "internalType": "uint256", "name": "lpPortion", "type": "uint256" }, { "internalType": "uint256", "name": "teamPortion", "type": "uint256" } ], "name": "updatePortionsOfSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "updateRfiFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateRouterAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newFee", "type": "uint256" } ], "name": "updateTeamFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_txMax", "type": "uint256" } ], "name": "updateTransactionMax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_walletMax", "type": "uint256" } ], "name": "updateWalletMax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600380546001600160a01b031990811661dead1790915560048054821690556005805482167397f326467912b8db9bd64c36012ee95b57cec3a817905560068054821673e829d447711b5ef456693a27855637b8c6e9168b1790556007805490911673f0b6c436dd743daad19fd1e87cbe86eed9f122df179055620000996c0c9f2c9cd04674edea4000000060001962000b83565b620000a79060001962000b4b565b600855620000c56101f46c0c9f2c9cd04674edea4000000062000b34565b600a55620000e260646c0c9f2c9cd04674edea4000000062000b34565b600b55600c805464ff00ffffff19166401000001011790556a084595161401484a000000600d55600e805460ff191690556103de600f556103e8601155600a6012819055601e601381905560148181556015839055601681905562000174929091620001609190829081838262000511602090811b6200167d17901c565b6200051160201b6200167d1790919060201c565b6017556101f460185560c86019556096601a556096601b553480156200019957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600854601e6000620001f56000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000732d99abd9008dc933ff5c0cd271b88309593ab9219050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026c57600080fd5b505afa15801562000281573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a7919062000aee565b6001600160a01b031663c9c6539630836001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b158015620002f057600080fd5b505afa15801562000305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032b919062000aee565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200037457600080fd5b505af115801562000389573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003af919062000aee565b601d80546001600160a01b03199081166001600160a01b0393841617909155601c8054909116918316919091179055600160226000620003f76000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526022909252902080549091166001179055620004546200044e6000546001600160a01b031690565b6200057f565b6200045f306200057f565b601d5462000476906001600160a01b03166200057f565b6003546200048d906001600160a01b03166200057f565b620004b9620004a46000546001600160a01b031690565b601c546001600160a01b031660001962000642565b600080546040516c0c9f2c9cd04674edea4000000081526001600160a01b0390911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35062000bdc565b60008062000520838562000b19565b905083811015620005785760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b9392505050565b6001600160a01b0381166000908152601e602052604090205415620005dc576001600160a01b0381166000908152601e6020526040902054620005c29062000777565b6001600160a01b0382166000908152601f60205260409020555b6001600160a01b03166000818152602360205260408120805460ff191660019081179091556024805491820181559091527f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec40180546001600160a01b0319169091179055565b6001600160a01b038316620006ae5760405162461bcd60e51b815260206004820152602b60248201527f42617365526669546f6b656e3a20617070726f76652066726f6d20746865207a60448201526a65726f206164647265737360a81b60648201526084016200056f565b6001600160a01b038216620007185760405162461bcd60e51b815260206004820152602960248201527f42617365526669546f6b656e3a20617070726f766520746f20746865207a65726044820152686f206164647265737360b81b60648201526084016200056f565b6001600160a01b038381166000818152602080805260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000600854821115620007e05760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016200056f565b6000620007ec62000808565b90506200057881846200083b60201b620016e31790919060201c565b60008080620008166200089a565b915091506200083481836200083b60201b620016e31790919060201c565b9250505090565b60008082116200088e5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016200056f565b62000578828462000b34565b60085460009081906c0c9f2c9cd04674edea40000000825b60245481101562000a2f5782601e600060248481548110620008d857620008d862000bc6565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118062000947575081601f60006024848154811062000920576200092062000bc6565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1562000968575050600854936c0c9f2c9cd04674edea400000009350915050565b620009bf601e60006024848154811062000986576200098662000bc6565b60009182526020808320909101546001600160a01b0316835282810193909352604090910190205485916200173e62000a8e821b17901c565b925062000a18601f600060248481548110620009df57620009df62000bc6565b60009182526020808320909101546001600160a01b0316835282810193909352604090910190205484916200173e62000a8e821b17901c565b91508062000a268162000b65565b915050620008b2565b5080158062000a65575062000a626c0c9f2c9cd04674edea400000006008546200083b60201b620016e31790919060201c565b82105b1562000a85575050600854926c0c9f2c9cd04674edea4000000092509050565b90939092509050565b60008282111562000ae25760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016200056f565b62000578828462000b4b565b60006020828403121562000b0157600080fd5b81516001600160a01b03811681146200057857600080fd5b6000821982111562000b2f5762000b2f62000b9a565b500190565b60008262000b465762000b4662000bb0565b500490565b60008282101562000b605762000b6062000b9a565b500390565b600060001982141562000b7c5762000b7c62000b9a565b5060010190565b60008262000b955762000b9562000bb0565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b612f798062000bec6000396000f3fe6080604052600436106103a55760003560e01c806370a08231116101e7578063a457c2d71161010d578063d4cdeb3c116100a0578063e2f456051161006f578063e2f4560514610aaa578063f2fde38b14610ac0578063f887ea4014610ae0578063f8a194fc14610b0057600080fd5b8063d4cdeb3c14610a16578063d7c94efd14610a36578063d8c6404b14610a4c578063dd62ed3e14610a6657600080fd5b8063bbde77c1116100dc578063bbde77c1146109aa578063bd246615146109c0578063cbf7e888146109e0578063cf382877146109f657600080fd5b8063a457c2d71461092a578063a8aa1b311461094a578063a9059cbb1461096a578063acedf07c1461098a57600080fd5b806388f820201161018557806391053d941161015457806391053d94146108d557806395d89b41146103d357806396bd072c146108f557806399729ec11461090a57600080fd5b806388f82020146108485780638c0b5e22146108815780638da5cb5b146108975780638ea5220f146108b557600080fd5b806379c4903c116101c157806379c4903c146107dc5780637b66782f146107f25780637d8dbe2414610812578063872f59691461083257600080fd5b806370a0823114610787578063715018a6146107a757806375f0a874146107bc57600080fd5b80634549b039116102cc578063612888f61161026a578063690c22ca11610239578063690c22ca146107235780636b67c4df146107395780636ddd17131461074f578063704ce43e1461077157600080fd5b8063612888f6146106b757806361a4036e146106d75780636612e66f146106ed5780636827e7641461070d57600080fd5b8063557ed1ba116102a6578063557ed1ba14610658578063589d89dc1461066b57806359927044146106815780635a565c39146106a157600080fd5b80634549b039146105df57806352390c02146105ff5780635342acb41461061f57600080fd5b80631df4ccfc116103445780633685d419116103135780633685d41914610565578063395093511461058557806342966c68146105a5578063450dde46146105c557600080fd5b80631df4ccfc146104f357806323b872dd14610509578063313ce56714610529578063361ff9bf1461054557600080fd5b806309c58fcd1161038057806309c58fcd14610442578063122fe6851461046157806318160ddd146104995780631cdd3be3146104c357600080fd5b8062e6be7b146103b157806306fdde03146103d3578063095ea7b31461041257600080fd5b366103ac57005b600080fd5b3480156103bd57600080fd5b506103d16103cc366004612b40565b610b16565b005b3480156103df57600080fd5b506040805180820182526007815266086d0cacadae6b60cb1b602082015290516104099190612d35565b60405180910390f35b34801561041e57600080fd5b5061043261042d366004612c29565b610c10565b6040519015158152602001610409565b34801561044e57600080fd5b50600c5461043290610100900460ff1681565b34801561046d57600080fd5b50600454610481906001600160a01b031681565b6040516001600160a01b039091168152602001610409565b3480156104a557600080fd5b506c0c9f2c9cd04674edea400000005b604051908152602001610409565b3480156104cf57600080fd5b506104326104de366004612b40565b60216020526000908152604090205460ff1681565b3480156104ff57600080fd5b506104b560175481565b34801561051557600080fd5b50610432610524366004612bb3565b610c27565b34801561053557600080fd5b5060405160128152602001610409565b34801561055157600080fd5b506103d1610560366004612cbf565b610c8e565b34801561057157600080fd5b506103d1610580366004612b40565b610d43565b34801561059157600080fd5b506104326105a0366004612c29565b610efa565b3480156105b157600080fd5b506103d16105c0366004612c55565b610f2e565b3480156105d157600080fd5b50600c546104329060ff1681565b3480156105eb57600080fd5b506104b56105fa366004612c6e565b61110b565b34801561060b57600080fd5b506103d161061a366004612b40565b6111ac565b34801561062b57600080fd5b5061043261063a366004612b40565b6001600160a01b031660009081526022602052604090205460ff1690565b34801561066457600080fd5b50426104b5565b34801561067757600080fd5b506104b560095481565b34801561068d57600080fd5b50600754610481906001600160a01b031681565b3480156106ad57600080fd5b506104b5601a5481565b3480156106c357600080fd5b506103d16106d2366004612c55565b61124b565b3480156106e357600080fd5b506104b560195481565b3480156106f957600080fd5b506103d1610708366004612bf4565b611282565b34801561071957600080fd5b506104b560145481565b34801561072f57600080fd5b506104b560105481565b34801561074557600080fd5b506104b560135481565b34801561075b57600080fd5b50600c5461043290640100000000900460ff1681565b34801561077d57600080fd5b506104b560165481565b34801561079357600080fd5b506104b56107a2366004612b40565b6112d7565b3480156107b357600080fd5b506103d1611336565b3480156107c857600080fd5b50600554610481906001600160a01b031681565b3480156107e857600080fd5b506104b560185481565b3480156107fe57600080fd5b506103d161080d366004612c55565b6113aa565b34801561081e57600080fd5b506103d161082d366004612c55565b6113e1565b34801561083e57600080fd5b506104b5600f5481565b34801561085457600080fd5b50610432610863366004612b40565b6001600160a01b031660009081526023602052604090205460ff1690565b34801561088d57600080fd5b506104b5600a5481565b3480156108a357600080fd5b506000546001600160a01b0316610481565b3480156108c157600080fd5b50600654610481906001600160a01b031681565b3480156108e157600080fd5b506103d16108f0366004612c55565b611423565b34801561090157600080fd5b506009546104b5565b34801561091657600080fd5b506103d1610925366004612c55565b611465565b34801561093657600080fd5b50610432610945366004612c29565b61149c565b34801561095657600080fd5b50601d54610481906001600160a01b031681565b34801561097657600080fd5b50610432610985366004612c29565b6114e9565b34801561099657600080fd5b506103d16109a5366004612c55565b6114f6565b3480156109b657600080fd5b506104b5600b5481565b3480156109cc57600080fd5b506103d16109db366004612c55565b61152d565b3480156109ec57600080fd5b506104b5601b5481565b348015610a0257600080fd5b506103d1610a11366004612c55565b61155c565b348015610a2257600080fd5b50600c546104329062010000900460ff1681565b348015610a4257600080fd5b506104b560155481565b348015610a5857600080fd5b50600e546104329060ff1681565b348015610a7257600080fd5b506104b5610a81366004612b7a565b6001600160a01b0391821660009081526020808052604080832093909416825291909152205490565b348015610ab657600080fd5b506104b5600d5481565b348015610acc57600080fd5b506103d1610adb366004612b40565b611593565b348015610aec57600080fd5b50601c54610481906001600160a01b031681565b348015610b0c57600080fd5b506104b560125481565b6000546001600160a01b03163314610b495760405162461bcd60e51b8152600401610b4090612d8a565b60405180910390fd5b601c546001600160a01b0382811691161415610bb35760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b6064820152608401610b40565b601c546040516001600160a01b03918216918316907fb172ff8de0a3afc7f2ad25e3396c86087d62f54aa2b1757e9c048e3712fddbcd90600090a3601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c1d33848461179a565b5060015b92915050565b6000610c348484846118cc565b610c848433610c7f85604051806060016040528060288152602001612ef7602891396001600160a01b038a166000908152602080805260408083203384529091529020549190611d96565b61179a565b5060019392505050565b6000546001600160a01b03163314610cb85760405162461bcd60e51b8152600401610b4090612d8a565b6000610cd082610cca8581898961167d565b9061167d565b9050806103e814610d2e5760405162461bcd60e51b815260206004820152602260248201527f546f74616c206d75737420626520657175616c20746f20313030302028313030604482015261252960f01b6064820152608401610b40565b50601893909355601991909155601b55601a55565b6000546001600160a01b03163314610d6d5760405162461bcd60e51b8152600401610b4090612d8a565b6001600160a01b03811660009081526023602052604090205460ff16610dd55760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610b40565b60005b602454811015610ef657816001600160a01b031660248281548110610dff57610dff612ecb565b6000918252602090912001546001600160a01b03161415610ee45760248054610e2a90600190612e6d565b81548110610e3a57610e3a612ecb565b600091825260209091200154602480546001600160a01b039092169183908110610e6657610e66612ecb565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152601f82526040808220829055602390925220805460ff191690556024805480610ebe57610ebe612eb5565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610eee81612e84565b915050610dd8565b5050565b336000818152602080805260408083206001600160a01b03871684529091528120549091610c1d918590610c7f908661167d565b3380610f865760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b40565b6003546001600160a01b0382811691161415610fee5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865206275726e206164647265736044820152607360f81b6064820152608401610b40565b6000610ff9826112d7565b9050828110156110565760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b40565b600061106a611063611dcd565b8590611df0565b6001600160a01b0384166000908152601e6020526040902054909150611090908261173e565b6001600160a01b0384166000908152601e602090815260408083209390935560239052205460ff16156110fa576001600160a01b0383166000908152601f60205260409020546110e0908561173e565b6001600160a01b0384166000908152601f60205260409020555b611105838583611e6f565b50505050565b60006c0c9f2c9cd04674edea4000000083111561116a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610b40565b60008261118d57600061117e856000611f51565b50929550610c21945050505050565b50601754600061119d8583611f51565b50919550610c21945050505050565b6000546001600160a01b031633146111d65760405162461bcd60e51b8152600401610b4090612d8a565b6001600160a01b03811660009081526023602052604090205460ff161561123f5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f7420696e636c756465640000000000000000006044820152606401610b40565b61124881611fd2565b50565b6000546001600160a01b031633146112755760405162461bcd60e51b8152600401610b4090612d8a565b6016819055611248612092565b6000546001600160a01b031633146112ac5760405162461bcd60e51b8152600401610b4090612d8a565b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526023602052604081205460ff161561131457506001600160a01b03166000908152601f602052604090205490565b6001600160a01b0382166000908152601e6020526040902054610c21906120c0565b6000546001600160a01b031633146113605760405162461bcd60e51b8152600401610b4090612d8a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146113d45760405162461bcd60e51b8152600401610b4090612d8a565b6012819055611248612092565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610b4090612d8a565b61141d81670de0b6b3a7640000612e4e565b600a5550565b6000546001600160a01b0316331461144d5760405162461bcd60e51b8152600401610b4090612d8a565b61145f81670de0b6b3a7640000612e4e565b600b5550565b6000546001600160a01b0316331461148f5760405162461bcd60e51b8152600401610b4090612d8a565b6014819055611248612092565b6000610c1d3384610c7f85604051806060016040528060258152602001612f1f60259139336000908152602080805260408083206001600160a01b038d1684529091529020549190611d96565b6000610c1d3384846118cc565b6000546001600160a01b031633146115205760405162461bcd60e51b8152600401610b4090612d8a565b6015819055611248612092565b6000546001600160a01b031633146115575760405162461bcd60e51b8152600401610b4090612d8a565b601155565b6000546001600160a01b031633146115865760405162461bcd60e51b8152600401610b4090612d8a565b6013819055611248612092565b6000546001600160a01b031633146115bd5760405162461bcd60e51b8152600401610b4090612d8a565b6001600160a01b0381166116225760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b40565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008061168a8385612e14565b9050838110156116dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b40565b9392505050565b60008082116117345760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006044820152606401610b40565b6116dc8284612e2c565b6000828211156117905760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401610b40565b6116dc8284612e6d565b6001600160a01b0383166118045760405162461bcd60e51b815260206004820152602b60248201527f42617365526669546f6b656e3a20617070726f76652066726f6d20746865207a60448201526a65726f206164647265737360a81b6064820152608401610b40565b6001600160a01b03821661186c5760405162461bcd60e51b815260206004820152602960248201527f42617365526669546f6b656e3a20617070726f766520746f20746865207a65726044820152686f206164647265737360b81b6064820152608401610b40565b6001600160a01b038381166000818152602080805260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166119305760405162461bcd60e51b815260206004820152602560248201527f546f6b656e3a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b40565b6001600160a01b0382166119925760405162461bcd60e51b815260206004820152602360248201527f546f6b656e3a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b40565b6003546001600160a01b03848116911614156119fe5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e3a207472616e736665722066726f6d20746865206275726e206164604482015264647265737360d81b6064820152608401610b40565b60008111611a605760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b40565b600c54610100900460ff16611add5760405162461bcd60e51b815260206004820152603860248201527f54686973206163636f756e742063616e6e6f742073656e6420746f6b656e732060448201527f756e74696c2074726164696e6720697320656e61626c656400000000000000006064820152608401610b40565b6001600160a01b03831660009081526021602052604090205460ff16158015611b1f57506001600160a01b03821660009081526021602052604090205460ff16155b611b615760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610b40565b601c546001600160a01b03848116911614801590611b9857506001600160a01b03821660009081526022602052604090205460ff16155b8015611bbd57506001600160a01b03831660009081526022602052604090205460ff16155b15611c3057600a54811115611c305760405162461bcd60e51b815260206004820152603360248201527f5472616e7366657220616d6f756e74206578636565647320746865204d6178206044820152722a3930b739b0b1ba34b7b71020b6b7bab73a1760691b6064820152608401610b40565b6000600b54118015611c5b57506001600160a01b03821660009081526022602052604090205460ff16155b8015611c8057506001600160a01b03831660009081526022602052604090205460ff16155b8015611c9a5750601d546001600160a01b03838116911614155b15611d20576000611caa836112d7565b600b54909150611cba8383612e14565b1115611d1e5760405162461bcd60e51b815260206004820152602d60248201527f4e65772062616c616e636520776f756c642065786365656420746865206d617860448201526c57616c6c657442616c616e636560981b6064820152608401610b40565b505b600c5460ff808216916201000090041615611d39575060005b6001600160a01b03841660009081526022602052604090205460ff1680611d7857506001600160a01b03831660009081526022602052604090205460ff165b15611d81575060005b611d8a8361213d565b611105848484846121db565b60008184841115611dba5760405162461bcd60e51b8152600401610b409190612d35565b50611dc58385612e6d565b949350505050565b6000806000611dda61221e565b9092509050611de982826116e3565b9250505090565b600082611dff57506000610c21565b6000611e0b8385612e4e565b905082611e188583612e2c565b146116dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b40565b6003546001600160a01b03166000908152601e6020526040902054611e94908261167d565b600380546001600160a01b039081166000908152601e6020908152604080832095909555925490911681526023909152205460ff1615611f0f576003546001600160a01b03166000908152601f6020526040902054611ef3908361167d565b6003546001600160a01b03166000908152601f60205260409020555b6003546040518381526001600160a01b03918216918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016118bf565b600080600080600080611f79601154611f73898b611df090919063ffffffff16565b906116e3565b90506000611f87898361173e565b90506000611f93611dcd565b90506000611fa18b83611df0565b90506000611faf8584611df0565b90506000611fbd838361173e565b929d929c9b5093995091975095505050505050565b6001600160a01b0381166000908152601e60205260409020541561202c576001600160a01b0381166000908152601e6020526040902054612012906120c0565b6001600160a01b0382166000908152601f60205260409020555b6001600160a01b03166000818152602360205260408120805460ff191660019081179091556024805491820181559091527f7cd332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec40180546001600160a01b0319169091179055565b6120bb601654610cca601554610cca601454610cca60135460125461167d90919063ffffffff16565b601755565b60006008548211156121275760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610b40565b6000612131611dcd565b90506116dc83826116e3565b600c5462010000900460ff16611248576000612158306112d7565b600d54600c54919250821015906301000000900460ff161580156121795750805b801561218f5750600c54640100000000900460ff165b80156121a85750601d546001600160a01b038481169116145b156121d657600c805463ff000000191663010000001790556121c86123d3565b600c805463ff000000191690555b505050565b601754600e5460ff1680156121f257506010544211155b6121fc5780612200565b600f545b90508161220b575060005b61221785858584612504565b5050505050565b60085460009081906c0c9f2c9cd04674edea40000000825b6024548110156123855782601e60006024848154811061225857612258612ecb565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806122c3575081601f60006024848154811061229c5761229c612ecb565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156122e3575050600854936c0c9f2c9cd04674edea400000009350915050565b612329601e6000602484815481106122fd576122fd612ecb565b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061173e565b9250612371601f60006024848154811061234557612345612ecb565b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061173e565b91508061237d81612e84565b915050612236565b508015806123ab57506008546123a8906c0c9f2c9cd04674edea400000006116e3565b82105b156123ca575050600854926c0c9f2c9cd04674edea4000000092509050565b90939092509050565b601b546000906123e49060026116e3565b90506000612401601154611f73846123fb306112d7565b90611df0565b9050600061241882612412306112d7565b9061173e565b90504761242482612591565b6000612430478361173e565b9050600061244f601154611f7360185485611df090919063ffffffff16565b9050600061246e601154611f7360195486611df090919063ffffffff16565b9050600061248d601154611f73601a5487611df090919063ffffffff16565b905060006124aa601154611f738b88611df090919063ffffffff16565b6005549091506124c3906001600160a01b031685612733565b6006546124d9906001600160a01b031684612733565b6007546124ef906001600160a01b031683612733565b6124f98882612769565b505050505050505050565b60008060008060006125168787611f51565b9450945094509450945061252e89898787878761289c565b6125398782886129c5565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161257e91815260200190565b60405180910390a3505050505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106125c6576125c6612ecb565b6001600160a01b03928316602091820292909201810191909152601c54604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b15801561261a57600080fd5b505afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190612b5d565b8160018151811061266557612665612ecb565b6001600160a01b039283166020918202929092010152601c5461268b913091168461179a565b601c54604051633b158ab160e11b81526001600160a01b039091169063762b1562906126c4908590600090869030904290600401612dd8565b600060405180830381600087803b1580156126de57600080fd5b505af11580156126f2573d6000803e3d6000fd5b505050507ff3effa97738dcfcb6162d1e2ff689ea71989e49e19952ab5b13505f8120e34078282604051612727929190612dbf565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156121d6573d6000803e3d6000fd5b601c546127819030906001600160a01b03168461179a565b601c54600090819081906001600160a01b031663f91b3f7285308885806127b06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561281357600080fd5b505af1158015612827573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061284c9190612c91565b604080518481526020810184905290810182905292955090935091507fd7f28048575eead8851d024ead087913957dfb4fd1a02b4d1573f5352a5a2be39060600160405180910390a15050505050565b6001600160a01b0386166000908152601e60205260409020546128bf908561173e565b6001600160a01b038088166000908152601e602052604080822093909355908716815220546128ee908461167d565b6001600160a01b038087166000908152601e602090815260408083209490945591891681526023909152205460ff161561295f576001600160a01b0386166000908152601f6020526040902054612945908361173e565b6001600160a01b0387166000908152601f60205260409020555b6001600160a01b03851660009081526023602052604090205460ff16156129bd576001600160a01b0385166000908152601f60205260409020546129a3908261167d565b6001600160a01b0386166000908152601f60205260409020555b505050505050565b6000811180156129de5750600c5462010000900460ff16155b156121d6576129f08383601254612a15565b6000612a076012548361173e90919063ffffffff16565b905061110584848330612a61565b601154600090612a2990611f738685611df0565b90506000612a378285611df0565b600854909150612a47908261173e565b600855600954612a57908361167d565b6009555050505050565b601154600090612a7590611f738786611df0565b90506000612a838286611df0565b6001600160a01b0384166000908152601e6020526040902054909150612aa9908261167d565b6001600160a01b0384166000908152601e602090815260408083209390935560239052205460ff1615612b13576001600160a01b0383166000908152601f6020526040902054612af9908361167d565b6001600160a01b0384166000908152601f60205260409020555b600954612b20908361167d565b600955505050505050565b80358015158114612b3b57600080fd5b919050565b600060208284031215612b5257600080fd5b81356116dc81612ee1565b600060208284031215612b6f57600080fd5b81516116dc81612ee1565b60008060408385031215612b8d57600080fd5b8235612b9881612ee1565b91506020830135612ba881612ee1565b809150509250929050565b600080600060608486031215612bc857600080fd5b8335612bd381612ee1565b92506020840135612be381612ee1565b929592945050506040919091013590565b60008060408385031215612c0757600080fd5b8235612c1281612ee1565b9150612c2060208401612b2b565b90509250929050565b60008060408385031215612c3c57600080fd5b8235612c4781612ee1565b946020939093013593505050565b600060208284031215612c6757600080fd5b5035919050565b60008060408385031215612c8157600080fd5b82359150612c2060208401612b2b565b600080600060608486031215612ca657600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215612cd557600080fd5b5050823594602084013594506040840135936060013592509050565b600081518084526020808501945080840160005b83811015612d2a5781516001600160a01b031687529582019590820190600101612d05565b509495945050505050565b600060208083528351808285015260005b81811015612d6257858101830151858201604001528201612d46565b81811115612d74576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611dc56040830184612cf1565b85815284602082015260a060408201526000612df760a0830186612cf1565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612e2757612e27612e9f565b500190565b600082612e4957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612e6857612e68612e9f565b500290565b600082821015612e7f57612e7f612e9f565b500390565b6000600019821415612e9857612e98612e9f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461124857600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220893c6e3f2651dd297fca60920bd77a3e01afbe1148a3988ae079b712bd02b03064736f6c63430008060033