[ { "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": [], "name": "AutoNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sniper", "type": "address" } ], "name": "BoughtEarly", "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": [], "name": "ManualNukeLP", "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": "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": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "devWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "addLiquidityEth", "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "ratio", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "checkRatio", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "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": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dynamicLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "earlySellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "earlySellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableEarlySellTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastLpBurnTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastManualLpBurnTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpBurnEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpBurnFrequency", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualBurnFrequency", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "manualBurnLiquidityPairTokens", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "percentForLPBurn", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "showBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "showSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [], "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": "newWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526019600d819055600e805460ff19908116909155611c20600f556115186011556013805463ffffffff19166301000001179055601e6014556064601581905560165581541690553480156200005857600080fd5b506040518060400160405280600c81526020016b2132b0bb32b9399021b7b4b760a11b815250604051806040016040528060068152602001652122a0ab22a960d11b8152508160039081620000ae91906200061d565b506004620000bd82826200061d565b5050506000620000d2620002fc60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600080828180808067016345785d8a0000606462000142826002620006ff565b6200014e919062000719565b600a55606462000160826002620006ff565b6200016c919062000719565b600c556127106200017f826005620006ff565b6200018b919062000719565b600b55601b899055601c889055601d87905586620001aa898b6200073c565b620001b691906200073c565b601a55601f8690556020859055602184905583620001d586886200073c565b620001e191906200073c565b601e556022839055602382905542601055600880546001600160a01b031916739a34bd3e8792565d43223e2523445e45561e0eac1790556200022b6005546001600160a01b031690565b600980546001600160a01b0319166001600160a01b03928316179055600554620002589116600162000300565b6200026530600162000300565b6008546200027e906001600160a01b0316600162000300565b6200028d61dead600162000300565b620002ac620002a46005546001600160a01b031690565b6001620003ae565b620002b9306001620003ae565b600854620002d2906001600160a01b03166001620003ae565b620002e161dead6001620003ae565b620002ed338262000424565b50505050505050505062000752565b3390565b6005546001600160a01b031633146200034f5760405162461bcd60e51b815260206004820181905260248201526000805160206200367283398151915260448201526064015b60405180910390fd5b6001600160a01b038216600081815260296020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314620003f95760405162461bcd60e51b8152602060048201819052602482015260008051602062003672833981519152604482015260640162000346565b6001600160a01b03919091166000908152602a60205260409020805460ff1916911515919091179055565b6001600160a01b0382166200047c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000346565b6002546200048b90826200050d565b6002556001600160a01b038216600090815260208190526040902054620004b390826200050d565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b6000806200051c83856200073c565b905083811015620005705760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000346565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005a457607f821691505b602082108103620005c557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200050857600081815260208120601f850160051c81016020861015620005f45750805b601f850160051c820191505b81811015620006155782815560010162000600565b505050505050565b81516001600160401b0381111562000639576200063962000579565b62000651816200064a84546200058f565b84620005cb565b602080601f831160018114620006895760008415620006705750858301515b600019600386901b1c1916600185901b17855562000615565b600085815260208120601f198616915b82811015620006ba5788860151825594840194600190910190840162000699565b5085821015620006d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620005735762000573620006e9565b6000826200073757634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620005735762000573620006e9565b612f1080620007626000396000f3fe6080604052600436106103b05760003560e01c806375f0a874116101e7578063b62496f51161010d578063ded1e438116100a0578063f2fde38b1161006f578063f2fde38b14610a59578063f637434214610a79578063f8b45b0514610a8f578063fe72b27a14610aa557600080fd5b8063ded1e438146109f8578063e2f4560514610a18578063e884f26014610a2e578063f11a24d314610a4357600080fd5b8063c8c8ebe4116100dc578063c8c8ebe414610966578063d257b34f1461097c578063d85ba0631461099c578063dd62ed3e146109b257600080fd5b8063b62496f5146108dd578063bbc0c7421461090d578063c02466681461092c578063c876d0b91461094c57600080fd5b80639c3b4fdc11610185578063a457c2d711610154578063a457c2d714610866578063a4c82a0014610886578063a4d15b641461089c578063a9059cbb146108bd57600080fd5b80639c3b4fdc1461080e5780639ec22c0e146108245780639fccce321461083a578063a0d82dc51461085057600080fd5b80638ea5220f116101c15780638ea5220f146107a357806392136913146107c357806395d89b41146107d95780639a7a23d6146107ee57600080fd5b806375f0a8741461074f5780637bce5a041461076f5780638da5cb5b1461078557600080fd5b80632c3e486c116102d7578063541a43cf1161026a57806370a082311161023957806370a08231146106e5578063715018a614610705578063751039fc1461071a5780637571336a1461072f57600080fd5b8063541a43cf14610684578063552656691461069a5780636a486a8e146106af5780636ddd1713146106c557600080fd5b806339509351116102a657806339509351146105f157806349bd5a5e146106115780634a62bb65146106315780634fbee1931461064b57600080fd5b80632c3e486c146105855780632e82f1a01461059b57806330c9a6a0146105b5578063313ce567146105d557600080fd5b80631816467f1161034f5780631f3fed8f1161031e5780631f3fed8f1461053157806323b872dd1461054757806324e34443146105675780632bf3d42d1461056f57600080fd5b80631816467f146104cf578063184c16c5146104ef578063199ffc72146105055780631a8145bb1461051b57600080fd5b806310d5de531161038b57806310d5de531461042e5780631694505e1461045e57806316f23c221461049657806318160ddd146104ba57600080fd5b806299d386146103bc57806306fdde03146103d3578063095ea7b3146103fe57600080fd5b366103b757005b600080fd5b3480156103c857600080fd5b506103d1610ac5565b005b3480156103df57600080fd5b506103e8610b13565b6040516103f59190612a3e565b60405180910390f35b34801561040a57600080fd5b5061041e610419366004612aa4565b610ba5565b60405190151581526020016103f5565b34801561043a57600080fd5b5061041e610449366004612ad0565b602a6020526000908152604090205460ff1681565b34801561046a57600080fd5b5060065461047e906001600160a01b031681565b6040516001600160a01b0390911681526020016103f5565b3480156104a257600080fd5b506104ac60245481565b6040519081526020016103f5565b3480156104c657600080fd5b506002546104ac565b3480156104db57600080fd5b506103d16104ea366004612ad0565b610bbc565b3480156104fb57600080fd5b506104ac60115481565b34801561051157600080fd5b506104ac600d5481565b34801561052757600080fd5b506104ac60265481565b34801561053d57600080fd5b506104ac60255481565b34801561055357600080fd5b5061041e610562366004612aed565b610c43565b6103d1610cac565b34801561057b57600080fd5b506104ac60235481565b34801561059157600080fd5b506104ac600f5481565b3480156105a757600080fd5b50600e5461041e9060ff1681565b3480156105c157600080fd5b506104ac6105d0366004612b2e565b610f2e565b3480156105e157600080fd5b50604051600981526020016103f5565b3480156105fd57600080fd5b5061041e61060c366004612aa4565b610f6e565b34801561061d57600080fd5b5060075461047e906001600160a01b031681565b34801561063d57600080fd5b5060135461041e9060ff1681565b34801561065757600080fd5b5061041e610666366004612ad0565b6001600160a01b031660009081526029602052604090205460ff1690565b34801561069057600080fd5b506104ac60225481565b3480156106a657600080fd5b506104ac610fa4565b3480156106bb57600080fd5b506104ac601e5481565b3480156106d157600080fd5b5060135461041e9062010000900460ff1681565b3480156106f157600080fd5b506104ac610700366004612ad0565b610fd0565b34801561071157600080fd5b506103d1610feb565b34801561072657600080fd5b5061041e61105f565b34801561073b57600080fd5b506103d161074a366004612b47565b61109c565b34801561075b57600080fd5b5060085461047e906001600160a01b031681565b34801561077b57600080fd5b506104ac601b5481565b34801561079157600080fd5b506005546001600160a01b031661047e565b3480156107af57600080fd5b5060095461047e906001600160a01b031681565b3480156107cf57600080fd5b506104ac601f5481565b3480156107e557600080fd5b506103e86110f1565b3480156107fa57600080fd5b506103d1610809366004612b47565b611100565b34801561081a57600080fd5b506104ac601d5481565b34801561083057600080fd5b506104ac60125481565b34801561084657600080fd5b506104ac60275481565b34801561085c57600080fd5b506104ac60215481565b34801561087257600080fd5b5061041e610881366004612aa4565b6111bc565b34801561089257600080fd5b506104ac60105481565b3480156108a857600080fd5b5060135461041e906301000000900460ff1681565b3480156108c957600080fd5b5061041e6108d8366004612aa4565b61120b565b3480156108e957600080fd5b5061041e6108f8366004612ad0565b602b6020526000908152604090205460ff1681565b34801561091957600080fd5b5060135461041e90610100900460ff1681565b34801561093857600080fd5b506103d1610947366004612b47565b611218565b34801561095857600080fd5b5060195461041e9060ff1681565b34801561097257600080fd5b506104ac600a5481565b34801561098857600080fd5b5061041e610997366004612b2e565b6112a1565b3480156109a857600080fd5b506104ac601a5481565b3480156109be57600080fd5b506104ac6109cd366004612b85565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a0457600080fd5b5061041e610a13366004612bb3565b6113f3565b348015610a2457600080fd5b506104ac600b5481565b348015610a3a57600080fd5b5061041e611434565b348015610a4f57600080fd5b506104ac601c5481565b348015610a6557600080fd5b506103d1610a74366004612ad0565b611471565b348015610a8557600080fd5b506104ac60205481565b348015610a9b57600080fd5b506104ac600c5481565b348015610ab157600080fd5b5061041e610ac0366004612b2e565b61155c565b6005546001600160a01b03163314610af85760405162461bcd60e51b8152600401610aef90612bd5565b60405180910390fd5b6013805462ffff001916620101001790554260125543602855565b606060038054610b2290612c0a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e90612c0a565b8015610b9b5780601f10610b7057610100808354040283529160200191610b9b565b820191906000526020600020905b815481529060010190602001808311610b7e57829003601f168201915b5050505050905090565b6000610bb2338484611775565b5060015b92915050565b6005546001600160a01b03163314610be65760405162461bcd60e51b8152600401610aef90612bd5565b6009546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c5084848461189a565b610ca28433610c9d85604051806060016040528060288152602001612e8e602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190612184565b611775565b5060019392505050565b6005546001600160a01b03163314610cd65760405162461bcd60e51b8152600401610aef90612bd5565b737a250d5630b4cf539739df2c5dacb4c659f2488d610cf681600161109c565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d739190612c44565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de49190612c44565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190612c44565b600780546001600160a01b0319166001600160a01b03929092169182179055610e7f90600161109c565b600754610e96906001600160a01b031660016121be565b610ea33082600019611775565b6006546001600160a01b031663f305d7193430610ebf81610fd0565b60008033426040518863ffffffff1660e01b8152600401610ee596959493929190612c61565b60606040518083038185885af1158015610f03573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f289190612c9c565b50505050565b6000610bb6610f3b610fa4565b600754610f6890610f6190600290610f5b906001600160a01b0316610fd0565b90612212565b8590612212565b90612294565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610bb2918590610c9d90866122d6565b6000610fcb610fb36000610fd0565b610fc5610fc161dead610fd0565b6002545b90612335565b905090565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b031633146110155760405162461bcd60e51b8152600401610aef90612bd5565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b0316331461108c5760405162461bcd60e51b8152600401610aef90612bd5565b506013805460ff19169055600190565b6005546001600160a01b031633146110c65760405162461bcd60e51b8152600401610aef90612bd5565b6001600160a01b03919091166000908152602a60205260409020805460ff1916911515919091179055565b606060048054610b2290612c0a565b6005546001600160a01b0316331461112a5760405162461bcd60e51b8152600401610aef90612bd5565b6007546001600160a01b03908116908316036111ae5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610aef565b6111b882826121be565b5050565b6000610bb23384610c9d85604051806060016040528060258152602001612eb6602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190612184565b6000610bb233848461189a565b6005546001600160a01b031633146112425760405162461bcd60e51b8152600401610aef90612bd5565b6001600160a01b038216600081815260296020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546000906001600160a01b031633146112ce5760405162461bcd60e51b8152600401610aef90612bd5565b620186a06112db60025490565b6112e6906001612ce0565b6112f09190612cf7565b82101561135d5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610aef565b6103e861136960025490565b611374906005612ce0565b61137e9190612cf7565b8211156113ea5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610aef565b50600b55600190565b6000806113ff83610f2e565b1180156114165750600061141461dead610fd0565b115b801561142d575060145461142b846001612d19565b115b9392505050565b6005546000906001600160a01b031633146114615760405162461bcd60e51b8152600401610aef90612bd5565b506019805460ff19169055600190565b6005546001600160a01b0316331461149b5760405162461bcd60e51b8152600401610aef90612bd5565b6001600160a01b0381166115005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aef565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600060115460125461156e9190612d19565b42116115bc5760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610aef565b6103e88211156116215760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610aef565b426012556007546040516370a0823160e01b81526001600160a01b03909116600482015260009030906370a0823190602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190612d2c565b905060006116be6116ab612710610f688588612212565b6116b9633b9aca0085612d45565b612377565b905080156116df576007546116df906001600160a01b031661dead8361238d565b6007546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1506001949350505050565b6001600160a01b0383166117d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aef565b6001600160a01b0382166118385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aef565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166118c05760405162461bcd60e51b8152600401610aef90612d58565b6001600160a01b0382166118e65760405162461bcd60e51b8152600401610aef90612d9d565b806000036118ff576118fa8383600061238d565b505050565b60135460ff1615611d54576005546001600160a01b0384811691161480159061193657506005546001600160a01b03838116911614155b801561194a57506001600160a01b03821615155b801561196157506001600160a01b03821661dead14155b80156119775750600754600160a01b900460ff16155b15611d5457601354610100900460ff16611a0f576001600160a01b03831660009081526029602052604090205460ff16806119ca57506001600160a01b03821660009081526029602052604090205460ff165b611a0f5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610aef565b60195460ff1615611b0e576005546001600160a01b03838116911614801590611a4657506006546001600160a01b03838116911614155b8015611a6057506007546001600160a01b03838116911614155b15611b0e57326000908152601760205260409020544311611afb5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610aef565b3260009081526017602052604090204390555b6001600160a01b0383166000908152602b602052604090205460ff168015611b4f57506001600160a01b0382166000908152602a602052604090205460ff16155b15611c2357600a54811115611bc45760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610aef565b600c54611bd083610fd0565b611bda9083612d19565b1115611c1e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610aef565b611d54565b6001600160a01b0382166000908152602b602052604090205460ff168015611c6457506001600160a01b0383166000908152602a602052604090205460ff16155b15611cda57600a54811115611c1e5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610aef565b6001600160a01b0382166000908152602a602052604090205460ff16611d5457600c54611d0683610fd0565b611d109083612d19565b1115611d545760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610aef565b6000611d5f30610fd0565b600b5490915081108015908190611d7e575060135462010000900460ff165b8015611d945750600754600160a01b900460ff16155b8015611db957506001600160a01b0385166000908152602b602052604090205460ff16155b8015611dde57506001600160a01b03851660009081526029602052604090205460ff16155b8015611e0357506001600160a01b03841660009081526029602052604090205460ff16155b15611e31576007805460ff60a01b1916600160a01b179055611e23612496565b6007805460ff60a01b191690555b600754600160a01b900460ff16158015611e6357506001600160a01b0384166000908152602b602052604090205460ff165b8015611e715750600e5460ff165b8015611e8c5750600f54601054611e889190612d19565b4210155b8015611eb157506001600160a01b03851660009081526029602052604090205460ff16155b15611ec057611ebe6126cb565b505b6007546001600160a01b03861660009081526029602052604090205460ff600160a01b909204821615911680611f0e57506001600160a01b03851660009081526029602052604090205460ff165b15611f17575060005b60008115612170576001600160a01b0386166000908152602b602052604090205460ff168015611f4957506000601e54115b1561203557611f5c6014546015546113f3565b611f6857602054611f77565b6064601654611f779190612cf7565b602455601654601e54611f909190610f68908890612212565b9050602454601e54611fa29190612d45565b602054611faf9083612ce0565b611fb99190612cf7565b60266000828254611fca9190612d19565b9091555050601e54602154611fdf9083612ce0565b611fe99190612cf7565b60276000828254611ffa9190612d19565b9091555050601e54601f5461200f9083612ce0565b6120199190612cf7565b6025600082825461202a9190612d19565b909155506121529050565b6001600160a01b0387166000908152602b602052604090205460ff16801561205f57506000601a54115b156121525761207e60026014546120769190612cf7565b6015546113f3565b61208a57601c54612099565b60646016546120999190612cf7565b602455601654601a546120b29190610f68908890612212565b9050602454601a546120c49190612d45565b601c546120d19083612ce0565b6120db9190612cf7565b602660008282546120ec9190612d19565b9091555050601a54601d546121019083612ce0565b61210b9190612cf7565b6027600082825461211c9190612d19565b9091555050601a54601b546121319083612ce0565b61213b9190612cf7565b6025600082825461214c9190612d19565b90915550505b80156121635761216387308361238d565b61216d8186612d45565b94505b61217b87878761238d565b50505050505050565b600081848411156121a85760405162461bcd60e51b8152600401610aef9190612a3e565b5060006121b58486612d45565b95945050505050565b6001600160a01b0382166000818152602b6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60008260000361222457506000610bb6565b60006122308385612ce0565b90508261223d8583612cf7565b1461142d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aef565b600061142d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612815565b6000806122e38385612d19565b90508381101561142d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aef565b600061142d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612184565b6000818311612386578161142d565b5090919050565b6001600160a01b0383166123b35760405162461bcd60e51b8152600401610aef90612d58565b6001600160a01b0382166123d95760405162461bcd60e51b8152600401610aef90612d9d565b61241681604051806060016040528060268152602001612e68602691396001600160a01b0386166000908152602081905260409020549190612184565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461244590826122d6565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161188d565b60006124a130610fd0565b905060006027546025546026546124b89190612d19565b6124c29190612d19565b905060008215806124d1575081155b156124db57505050565b600b546124e9906014612ce0565b83111561250157600b546124fe906014612ce0565b92505b6000600283602654866125149190612ce0565b61251e9190612cf7565b6125289190612cf7565b905060006125368583612335565b90504761254282612843565b600061254e4783612335565b9050600061256b87610f686025548561221290919063ffffffff16565b9050600061258888610f686027548661221290919063ffffffff16565b90506000816125978486612d45565b6125a19190612d45565b60006026819055602581905560278190556009546040519293506001600160a01b031691849181818185875af1925050503d80600081146125fe576040519150601f19603f3d011682016040523d82523d6000602084013e612603565b606091505b509098505086158015906126175750600081115b1561266a57612626878261299d565b602654604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6008546040516001600160a01b03909116904790600081818185875af1925050503d80600081146126b7576040519150601f19603f3d011682016040523d82523d6000602084013e6126bc565b606091505b50505050505050505050505050565b426010556007546040516370a0823160e01b81526001600160a01b039091166004820152600090819030906370a0823190602401602060405180830381865afa15801561271c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127409190612d2c565b9050600061275f612710610f68600d548561221290919063ffffffff16565b9050801561278057600754612780906001600160a01b031661dead8361238d565b6007546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b600081836128365760405162461bcd60e51b8152600401610aef9190612a3e565b5060006121b58486612cf7565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061287857612878612de0565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156128d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128f59190612c44565b8160018151811061290857612908612de0565b6001600160a01b03928316602091820292909201015260065461292e9130911684611775565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612967908590600090869030904290600401612df6565b600060405180830381600087803b15801561298157600080fd5b505af1158015612995573d6000803e3d6000fd5b505050505050565b6006546129b59030906001600160a01b031684611775565b60065460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906129f49030908790600090819061dead904290600401612c61565b60606040518083038185885af1158015612a12573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a379190612c9c565b5050505050565b600060208083528351808285015260005b81811015612a6b57858101830151858201604001528201612a4f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114612aa157600080fd5b50565b60008060408385031215612ab757600080fd5b8235612ac281612a8c565b946020939093013593505050565b600060208284031215612ae257600080fd5b813561142d81612a8c565b600080600060608486031215612b0257600080fd5b8335612b0d81612a8c565b92506020840135612b1d81612a8c565b929592945050506040919091013590565b600060208284031215612b4057600080fd5b5035919050565b60008060408385031215612b5a57600080fd5b8235612b6581612a8c565b915060208301358015158114612b7a57600080fd5b809150509250929050565b60008060408385031215612b9857600080fd5b8235612ba381612a8c565b91506020830135612b7a81612a8c565b60008060408385031215612bc657600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612c1e57607f821691505b602082108103612c3e57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612c5657600080fd5b815161142d81612a8c565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215612cb157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610bb657610bb6612cca565b600082612d1457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610bb657610bb6612cca565b600060208284031215612d3e57600080fd5b5051919050565b81810381811115610bb657610bb6612cca565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612e465784516001600160a01b031683529383019391830191600101612e21565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200bd4af27c5ea0bec7a97e5977f9db5a321316bb6f94a2f5069f232161184e35264736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572