[ { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "RemovedLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_address", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "SetExemptFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_address", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "SetExemptFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmt", "type": "uint256" } ], "name": "UpdatedBuyTax", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmt", "type": "uint256" } ], "name": "UpdatedSellTax", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMax", "type": "uint256" } ], "name": "UpdatedTransactionLimit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMax", "type": "uint256" } ], "name": "UpdatedWalletLimit", "type": "event" }, { "inputs": [], "name": "FEE_DIVISOR", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WETH", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "antiMevEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "buyTax", "outputs": [ { "internalType": "uint64", "name": "marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "devTax", "type": "uint64" }, { "internalType": "uint64", "name": "liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "totalTax", "type": "uint64" } ], "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": "devAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IDexRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "exemptFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "exemptFromLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "", "type": "address" } ], "name": "isAMMPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "a", "type": "address" } ], "name": "isBot", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastSwapBackBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limited", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingAddress", "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": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeTransferDelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "rescueTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint64", "name": "marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "devTax", "type": "uint64" }, { "internalType": "uint64", "name": "liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "totalTax", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "setExemptFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_isExempt", "type": "bool" } ], "name": "setExemptFromLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmt", "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": "tokensForTax", "outputs": [ { "internalType": "uint80", "name": "tokensForMarketing", "type": "uint80" }, { "internalType": "uint80", "name": "tokensForLiquidity", "type": "uint80" }, { "internalType": "uint80", "name": "tokensForDev", "type": "uint80" }, { "internalType": "bool", "name": "gasSaver", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "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": "txLimits", "outputs": [ { "internalType": "uint128", "name": "transactionLimit", "type": "uint128" }, { "internalType": "uint128", "name": "walletLimit", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "_liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "_devTax", "type": "uint64" } ], "name": "updateBuyTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_marketingTax", "type": "uint64" }, { "internalType": "uint64", "name": "_liquidityTax", "type": "uint64" }, { "internalType": "uint64", "name": "_devTax", "type": "uint64" } ], "name": "updateSellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAmt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "newNumInTokens", "type": "uint128" } ], "name": "updateTransactionLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "newNumInTokens", "type": "uint128" } ], "name": "updateWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040526010805461ffff19166101001790556015805460ff19169055348015610028575f80fd5b506040518060400160405280600881526020016774657374696e673360c01b81525060405180604001604052806008815260200167646f6e746275793360c01b815250816003908161007a9190610851565b5060046100878282610851565b5050505f6100996105cf60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100f93368056bc75e2d631000006105d3565b5f4660010361011d5750737a250d5630b4cf539739df2c5dacb4c659f2488d6101f8565b466005036101405750737a250d5630b4cf539739df2c5dacb4c659f2488d6101f8565b46606103610163575073d99d1c33f9fc3444f8101754abc46c52416550d16101f8565b4661a4b1036101875750731b02da8cb0d097eb8d57a175b88c7d8b479975066101f8565b46612105036101ab5750734752ba5dbc23f44d87826276bf6fd6b1c372ad246101f8565b60405162461bcd60e51b815260206004820152601460248201527f436861696e206e6f7420636f6e6669677572656400000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811660a0526103e861021160025490565b61021c90600a61091f565b610226919061093c565b601380546001600160801b0319166001600160801b03929092169190911790556103e861025260025490565b61025d90600a61091f565b610267919061093c565b601380546001600160801b03928316600160801b029216919091179055620186a061029160025490565b61029c90601961091f565b6102a6919061093c565b601155600a8054336001600160a01b03199182168117909255600b80549091169091179055600c805460646001600160c01b03199091168117918290556001600160401b0368010000000000000000830481169261030f92600160801b9091049091169061095b565b610319919061095b565b600c80546001600160c01b0316600160c01b6001600160401b0393841602179055600d805460646001600160c01b031990911681179182905568010000000000000000820483169261037392600160801b9004169061095b565b61037d919061095b565b600d80546001600160401b0392909216600160c01b026001600160c01b03909216919091179055600e805460ff60f01b1916600160f01b17905560a051604080516315ab88c960e31b815290516001600160a01b039092169163ad5c4648916004808201926020929091908290030181865afa1580156103ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610423919061097a565b6001600160a01b031660c0816001600160a01b03168152505060a0516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e919061097a565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af11580156104ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610510919061097a565b6001600160a01b0390811660808190525f9081526009602090815260408083208054600160ff19918216811790925560078452828520805482168317905533808652838620805483168417905530808752848720805484168517905590865260069094528285208054821683179055838552828520805482168317905560a05195861685529190932080549091169092179091556105af915f19610696565b6105c93360a0516105c461069060201b60201c565b610696565b506109ba565b3390565b6001600160a01b0382166106295760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016101ef565b8060025f82825461063a91906109a7565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60025490565b6001600160a01b0383166106f85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016101ef565b6001600160a01b0382166107595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016101ef565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806107e157607f821691505b6020821081036107ff57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561084c57805f5260205f20601f840160051c8101602085101561082a5750805b601f840160051c820191505b81811015610849575f8155600101610836565b50505b505050565b81516001600160401b0381111561086a5761086a6107b9565b61087e8161087884546107cd565b84610805565b6020601f8211600181146108b0575f83156108995750848201515b5f19600385901b1c1916600184901b178455610849565b5f84815260208120601f198516915b828110156108df57878501518255602094850194600190920191016108bf565b50848210156108fc57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176109365761093661090b565b92915050565b5f8261095657634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160401b0381811683821601908111156109365761093661090b565b5f6020828403121561098a575f80fd5b81516001600160a01b03811681146109a0575f80fd5b9392505050565b808201808211156109365761093661090b565b60805160a05160c051613128610a1c5f395f81816107ee0152612a8501525f81816102f4015281816123270152612adc01525f81816104c101528181611693015281816123640152818161241e01528181612767015261278e01526131285ff3fe60806040526004361061028d575f3560e01c8063751039fc11610155578063b0249cc6116100be578063d00efb2f11610078578063d00efb2f146108e8578063dd62ed3e146108fd578063f270fde41461091c578063f2fde38b14610966578063f5648a4f14610985578063f8686f0714610999575f80fd5b8063b0249cc614610810578063bedafd011461083e578063c78d0fa01461085d578063c876d0b914610872578063cc1776d31461088b578063ccad03e1146108c9575f80fd5b806395d89b411161010f57806395d89b411461073f5780639e93ad8e14610753578063a457c2d714610780578063a5ece9411461079f578063a9059cbb146107be578063ad5c4648146107dd575f80fd5b8063751039fc1461068f578063860a32ec146106a35780638a8c523c146106c15780638becc57d146106d55780638d3e6e40146106f45780638da5cb5b14610722575f80fd5b80633ad10ef6116101f75780635a90a49e116101b15780635a90a49e1461056d578063627e9d8e1461059b57806366ebd39a146105b45780636d7adcad146105d357806370a0823114610647578063715018a61461067b575f80fd5b80633ad10ef6146104455780633bbac57914610464578063432e95a51461049b578063452ed4f1146104b05780634f7041a5146104e357806353371be014610554575f80fd5b80632104591811610248578063210459181461038f57806323b872dd146103ae578063286965a7146103cd578063313ce567146103ec57806336e18e19146104075780633950935114610426575f80fd5b8062ae3bf81461029857806306fdde03146102b95780630758d924146102e3578063095ea7b31461032e57806317700f011461035d57806318160ddd14610371575f80fd5b3661029457005b5f80fd5b3480156102a3575f80fd5b506102b76102b2366004612bfc565b6109ad565b005b3480156102c4575f80fd5b506102cd610a8f565b6040516102da9190612c1c565b60405180910390f35b3480156102ee575f80fd5b506103167f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102da565b348015610339575f80fd5b5061034d610348366004612c51565b610b1f565b60405190151581526020016102da565b348015610368575f80fd5b506102b7610b38565b34801561037c575f80fd5b506002545b6040519081526020016102da565b34801561039a575f80fd5b506102b76103a9366004612c79565b610bc0565b3480156103b9575f80fd5b5061034d6103c8366004612c90565b610d0b565b3480156103d8575f80fd5b506102b76103e7366004612ce0565b610d2e565b3480156103f7575f80fd5b50604051601281526020016102da565b348015610412575f80fd5b506102b7610421366004612d20565b610ecb565b348015610431575f80fd5b5061034d610440366004612c51565b610fe3565b348015610450575f80fd5b50600b54610316906001600160a01b031681565b34801561046f575f80fd5b5061034d61047e366004612bfc565b6001600160a01b03165f9081526016602052604090205460ff1690565b3480156104a6575f80fd5b5061038160125481565b3480156104bb575f80fd5b506103167f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ee575f80fd5b50600c54610521906001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016102da565b34801561055f575f80fd5b5060085461034d9060ff1681565b348015610578575f80fd5b5061034d610587366004612bfc565b60066020525f908152604090205460ff1681565b3480156105a6575f80fd5b5060105461034d9060ff1681565b3480156105bf575f80fd5b506102b76105ce366004612d20565b611004565b3480156105de575f80fd5b50600e54610612906001600160501b0380821691600160501b8104821691600160a01b82041690600160f01b900460ff1684565b6040516102da94939291906001600160501b039485168152928416602084015292166040820152901515606082015260800190565b348015610652575f80fd5b50610381610661366004612bfc565b6001600160a01b03165f9081526020819052604090205490565b348015610686575f80fd5b506102b7611118565b34801561069a575f80fd5b506102b761118b565b3480156106ae575f80fd5b5060105461034d90610100900460ff1681565b3480156106cc575f80fd5b506102b761122b565b3480156106e0575f80fd5b506102b76106ef366004612ce0565b6112c0565b3480156106ff575f80fd5b5061034d61070e366004612bfc565b60076020525f908152604090205460ff1681565b34801561072d575f80fd5b506005546001600160a01b0316610316565b34801561074a575f80fd5b506102cd61145d565b34801561075e575f80fd5b5061076861271081565b6040516001600160401b0390911681526020016102da565b34801561078b575f80fd5b5061034d61079a366004612c51565b61146c565b3480156107aa575f80fd5b50600a54610316906001600160a01b031681565b3480156107c9575f80fd5b5061034d6107d8366004612c51565b6114e6565b3480156107e8575f80fd5b506103167f000000000000000000000000000000000000000000000000000000000000000081565b34801561081b575f80fd5b5061034d61082a366004612bfc565b60096020525f908152604090205460ff1681565b348015610849575f80fd5b506102b7610858366004612d56565b6114f3565b348015610868575f80fd5b5061038160115481565b34801561087d575f80fd5b5060155461034d9060ff1681565b348015610896575f80fd5b50600d54610521906001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b3480156108d4575f80fd5b506102b76108e3366004612d56565b61161d565b3480156108f3575f80fd5b5061038160145481565b348015610908575f80fd5b50610381610917366004612d8b565b611762565b348015610927575f80fd5b50601354610946906001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016102da565b348015610971575f80fd5b506102b7610980366004612bfc565b61178c565b348015610990575f80fd5b506102b7611876565b3480156109a4575f80fd5b506102b76118cb565b6001600160a01b038116610a085760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610a4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a709190612dbc565b600b54909150610a8b9083906001600160a01b031683611947565b5050565b606060038054610a9e90612dd3565b80601f0160208091040260200160405190810160405280929190818152602001828054610aca90612dd3565b8015610b155780601f10610aec57610100808354040283529160200191610b15565b820191905f5260205f20905b815481529060010190602001808311610af857829003601f168201915b5050505050905090565b5f33610b2c81858561199e565b60019150505b92915050565b6005546001600160a01b03163314610b625760405162461bcd60e51b81526004016109ff90612e0b565b60085460ff16610bb45760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c72656164792064697361626c6564000000000000000060448201526064016109ff565b6008805460ff19169055565b6005546001600160a01b03163314610bea5760405162461bcd60e51b81526004016109ff90612e0b565b620186a0610bf760025490565b610c02906001612e54565b610c0c9190612e7f565b811015610c795760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b60648201526084016109ff565b6103e8610c8560025490565b610c90906005612e54565b610c9a9190612e7f565b811115610d065760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b60648201526084016109ff565b601155565b5f33610d18858285611ac1565b610d23858585611b33565b506001949350505050565b6005546001600160a01b03163314610d585760405162461bcd60e51b81526004016109ff90612e0b565b604080516080810182525f60608201526001600160401b03858116825284811692820192909252908216602082015281610d928486612e92565b610d9c9190612e92565b6001600160401b0316606082018190526103e8101580610dd65750600d5460608201516001600160401b03600160c01b9092048216911611155b610e175760405162461bcd60e51b81526020600482015260126024820152714b656570207461782062656c6f772031302560701b60448201526064016109ff565b60608101516040516001600160401b0390911681527fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c979060200160405180910390a18051600d8054602084015160408501516060909501516001600160401b03908116600160c01b026001600160c01b03968216600160801b02969096166001600160801b03928216600160401b026001600160801b03199094169190951617919091171691909117919091179055505050565b6005546001600160a01b03163314610ef55760405162461bcd60e51b81526004016109ff90612e0b565b610f016012600a612f94565b6103e8610f0d60025490565b610f18906001612e54565b610f229190612e7f565b610f2c9190612e7f565b816001600160801b03161015610f6e5760405162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b60448201526064016109ff565b610f7a6012600a612f94565b610f8d906001600160801b038316612e54565b601380546001600160801b0319166001600160801b039290921691821790556040519081527f6710da7d4acedae09cb83751ae24c150719ef67dcbc1e02049f171d13c6b44e6906020015b60405180910390a150565b5f33610b2c818585610ff58383611762565b610fff9190612fa2565b61199e565b6005546001600160a01b0316331461102e5760405162461bcd60e51b81526004016109ff90612e0b565b61103a6012600a612f94565b6103e861104660025490565b611051906001612e54565b61105b9190612e7f565b6110659190612e7f565b816001600160801b031610156110a75760405162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b60448201526064016109ff565b6110b36012600a612f94565b6110c6906001600160801b038316612e54565b601380546001600160801b03908116600160801b93821684021791829055604051929091041681527fde064515fae8f8bb6d8ff19d2c6ba704322def7494147d8a971266430ade078890602001610fd8565b6005546001600160a01b031633146111425760405162461bcd60e51b81526004016109ff90612e0b565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146111b55760405162461bcd60e51b81526004016109ff90612e0b565b6010805461ff0019169055604080518082019091525f80825260208201525f6111dd60025490565b6001600160801b03811680845260208401819052600160801b8102176013556040519091507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a15050565b6005546001600160a01b031633146112555760405162461bcd60e51b81526004016109ff90612e0b565b60085460ff16156112a85760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016109ff565b6008805460ff19166001179055436014819055601255565b6005546001600160a01b031633146112ea5760405162461bcd60e51b81526004016109ff90612e0b565b604080516080810182525f60608201526001600160401b038581168252848116928201929092529082166020820152816113248486612e92565b61132e9190612e92565b6001600160401b0316606082018190526103e81015806113685750600c5460608201516001600160401b03600160c01b9092048216911611155b6113a95760405162461bcd60e51b81526020600482015260126024820152714b656570207461782062656c6f772031302560701b60448201526064016109ff565b60608101516040516001600160401b0390911681527f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece05089060200160405180910390a18051600c8054602084015160408501516060909501516001600160401b03908116600160c01b026001600160c01b03968216600160801b02969096166001600160801b03928216600160401b026001600160801b03199094169190951617919091171691909117919091179055505050565b606060048054610a9e90612dd3565b5f33816114798286611762565b9050838110156114d95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016109ff565b610d23828686840361199e565b5f33610b2c818585611b33565b6005546001600160a01b0316331461151d5760405162461bcd60e51b81526004016109ff90612e0b565b6001600160a01b0382166115625760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064016109ff565b306001600160a01b038316036115ba5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420756e6578656d707420636f6e7472616374000000000000000060448201526064016109ff565b6001600160a01b0382165f81815260066020908152604091829020805460ff19168515159081179091558251938452908301527f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d91015b60405180910390a15050565b6005546001600160a01b031633146116475760405162461bcd60e51b81526004016109ff90612e0b565b6001600160a01b03821661168c5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064016109ff565b80611707577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036117075760405162461bcd60e51b815260206004820152601260248201527121b0b73737ba103932b6b7bb32903830b4b960711b60448201526064016109ff565b6001600160a01b0382165f81815260076020908152604091829020805460ff19168515159081179091558251938452908301527f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce9101611611565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6005546001600160a01b031633146117b65760405162461bcd60e51b81526004016109ff90612e0b565b6001600160a01b03811661181b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ff565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600b546040515f916001600160a01b03169047908381818185875af1925050503d805f81146118c0576040519150601f19603f3d011682016040523d82523d5f602084013e6118c5565b606091505b50505050565b6005546001600160a01b031633146118f55760405162461bcd60e51b81526004016109ff90612e0b565b60155460ff1661193b5760405162461bcd60e51b8152602060048201526011602482015270416c72656164792064697361626c65642160781b60448201526064016109ff565b6015805460ff19169055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611999908490611c5e565b505050565b6001600160a01b038316611a005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109ff565b6001600160a01b038216611a615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109ff565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f611acc8484611762565b90505f1981146118c55781811015611b265760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016109ff565b6118c5848484840361199e565b6001600160a01b0383165f9081526006602052604090205460ff16158015611b7357506001600160a01b0382165f9081526006602052604090205460ff16155b15611c53576001600160a01b0383165f9081526016602052604090205460ff16158015611bb857506001600160a01b0382165f9081526016602052604090205460ff16155b611bea5760405162461bcd60e51b8152602060048201526003602482015262109bdd60ea1b60448201526064016109ff565b60085460ff16611c315760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b60448201526064016109ff565b611c3c838383611d2f565b611c469082612fb5565b9050611c53838383612122565b6119998383836124b1565b5f611cb2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166126549092919063ffffffff16565b8051909150156119995780806020019051810190611cd09190612fc8565b6119995760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109ff565b601154305f90815260208190526040812054909111158015611d6957506001600160a01b0384165f9081526009602052604090205460ff16155b8015611d835750436012546002611d809190612fa2565b11155b15611d9057611d9061266a565b604080516080810182525f8082526020808301829052828401829052606083018290526001600160a01b0387168252600990529182205460ff1615611e1c575060408051608081018252600d546001600160401b038082168352600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152611e85565b6001600160a01b0386165f9081526009602052604090205460ff1615611e85575060408051608081018252600c546001600160401b038082168352600160401b820481166020840152600160801b8204811693830193909352600160c01b900490911660608201525b60608101516001600160401b0316156121105760408051608081018252600e546001600160501b038082168352600160501b820481166020840152600160a01b82041692820192909252600160f01b90910460ff1615156060820152601454439003611f5d576001600160a01b0387165f9081526009602052604090205460ff1615611f2a57612710611f19866064612e54565b611f239190612e7f565b9250611f86565b6001600160a01b0386165f9081526009602052604090205460ff1615611f5857612710611f19866064612e54565b611f86565b606082015161271090611f79906001600160401b031687612e54565b611f839190612e7f565b92505b633b9aca0082606001516001600160401b031683604001516001600160401b031685611fb29190612fe3565b611fbc919061300c565b611fc6919061300c565b81602001818151611fd79190613039565b6001600160501b031690525060608201518251633b9aca00916001600160401b0390811691612007911686612fe3565b612011919061300c565b61201b919061300c565b8151829061202a908390613039565b6001600160501b031690525060608201516020830151633b9aca00916001600160401b039081169161205d911686612fe3565b612067919061300c565b612071919061300c565b816040018181516120829190613039565b6001600160501b039081169091528251600e80546020860151604087015160608801511515600160f01b0260ff60f01b19918716600160a01b02919091166affffffffffffffffffffff60a01b19928716600160501b026001600160a01b031990941695909616949094179190911716929092171790555061210e87306001600160801b0386166124b1565b505b506001600160801b0316949350505050565b601054610100900460ff1615611999576001600160a01b038281165f9081526007602090815260408083205483835281842054825180840184526013546001600160801b038082168352600160801b90910416818601529589168552600990935292205460ff928316939192168015612199575082155b1561223a5780516001600160801b03168411156121e25760405162461bcd60e51b815260206004820152600760248201526626b0bc102a3c3760c91b60448201526064016109ff565b60208101516001600160801b03166121fa8386612fa2565b11156122355760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b60448201526064016109ff565b61231a565b6001600160a01b0385165f9081526009602052604090205460ff16801561227957506001600160a01b0386165f9081526007602052604090205460ff16155b156122c25780516001600160801b03168411156122355760405162461bcd60e51b815260206004820152600760248201526626b0bc102a3c3760c91b60448201526064016109ff565b8261231a5760208101516001600160801b03166122df8386612fa2565b111561231a5760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b60448201526064016109ff565b60155460ff16156124a9577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415801561239957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b156124a957325f908152600f602052604090205443906123ba90601e612fa2565b106123f85760405162461bcd60e51b815260206004820152600e60248201526d5472616e736665722044656c617960901b60448201526064016109ff565b6001600160a01b038086165f908152600f602052604080822043908190553283529120557f00000000000000000000000000000000000000000000000000000000000000008116908716036124a957326001600160a01b038616146124a95760405162461bcd60e51b815260206004820152602160248201527f6e6f20627579696e6720746f2065787465726e616c2077616c6c6574732079656044820152601d60fa1b60648201526084016109ff565b505050505050565b6001600160a01b0383166125155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109ff565b6001600160a01b0382166125775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109ff565b6001600160a01b0383165f90815260208190526040902054818110156125ee5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109ff565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b606061266284845f85612959565b949350505050565b305f9081526020819052604081205460408051608081018252600e546001600160501b03808216808452600160501b8304821660208501819052600160a01b8404909216948401859052600160f01b90920460ff161515606084015293945090925f92916126d791613039565b6126e19190613039565b6001600160501b031690508215806126f7575080155b1561270157505050565b60115461270f90600a612e54565b8311156127275760115461272490600a612e54565b92505b60208201516001600160501b03161561281f575f8183602001516001600160501b0316856127559190612e54565b61275f9190612e7f565b905061278c307f0000000000000000000000000000000000000000000000000000000000000000836124b1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156127e4575f80fd5b505af19250505080156127f5575060015b506128008185612fb5565b935082602001516001600160501b03168261281b9190612fb5565b9150505b821561291d5761282e83612a30565b604082015147905f906001600160501b0316156128bc57600b5460408501516001600160a01b0390911690849061286e906001600160501b031685612e54565b6128789190612e7f565b6040515f81818185875af1925050503d805f81146128b1576040519150601f19603f3d011682016040523d82523d5f602084013e6128b6565b606091505b50909150505b479150811561291a57600a546040516001600160a01b039091169083905f81818185875af1925050503d805f811461290f576040519150601f19603f3d011682016040523d82523d5f602084013e612914565b606091505b50909150505b50505b505f602082018190528082526040820152600e80546060909201511515600160f01b026001600160f81b03199092169190911790555043601255565b6060824710156129ba5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109ff565b5f80866001600160a01b031685876040516129d59190613058565b5f6040518083038185875af1925050503d805f8114612a0f576040519150601f19603f3d011682016040523d82523d5f602084013e612a14565b606091505b5091509150612a2587838387612b44565b979650505050505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110612a6357612a6361306e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110612ab757612ab761306e565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790612b1b9085905f90869030904290600401613082565b5f604051808303815f87803b158015612b32575f80fd5b505af11580156124a9573d5f803e3d5ffd5b60608315612bb25782515f03612bab576001600160a01b0385163b612bab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109ff565b5081612662565b6126628383815115612bc75781518083602001fd5b8060405162461bcd60e51b81526004016109ff9190612c1c565b80356001600160a01b0381168114612bf7575f80fd5b919050565b5f60208284031215612c0c575f80fd5b612c1582612be1565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215612c62575f80fd5b612c6b83612be1565b946020939093013593505050565b5f60208284031215612c89575f80fd5b5035919050565b5f805f60608486031215612ca2575f80fd5b612cab84612be1565b9250612cb960208501612be1565b929592945050506040919091013590565b80356001600160401b0381168114612bf7575f80fd5b5f805f60608486031215612cf2575f80fd5b612cfb84612cca565b9250612d0960208501612cca565b9150612d1760408501612cca565b90509250925092565b5f60208284031215612d30575f80fd5b81356001600160801b0381168114612c15575f80fd5b8015158114612d53575f80fd5b50565b5f8060408385031215612d67575f80fd5b612d7083612be1565b91506020830135612d8081612d46565b809150509250929050565b5f8060408385031215612d9c575f80fd5b612da583612be1565b9150612db360208401612be1565b90509250929050565b5f60208284031215612dcc575f80fd5b5051919050565b600181811c90821680612de757607f821691505b602082108103612e0557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610b3257610b32612e40565b634e487b7160e01b5f52601260045260245ffd5b5f82612e8d57612e8d612e6b565b500490565b6001600160401b038181168382160190811115610b3257610b32612e40565b6001815b6001841115612eec57808504811115612ed057612ed0612e40565b6001841615612ede57908102905b60019390931c928002612eb5565b935093915050565b5f82612f0257506001610b32565b81612f0e57505f610b32565b8160018114612f245760028114612f2e57612f4a565b6001915050610b32565b60ff841115612f3f57612f3f612e40565b50506001821b610b32565b5060208310610133831016604e8410600b8410161715612f6d575081810a610b32565b612f795f198484612eb1565b805f1904821115612f8c57612f8c612e40565b029392505050565b5f612c1560ff841683612ef4565b80820180821115610b3257610b32612e40565b81810381811115610b3257610b32612e40565b5f60208284031215612fd8575f80fd5b8151612c1581612d46565b6001600160801b03818116838216029081169081811461300557613005612e40565b5092915050565b5f6001600160801b0383168061302457613024612e6b565b806001600160801b0384160491505092915050565b6001600160501b038181168382160190811115610b3257610b32612e40565b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156130d25783516001600160a01b03168352602093840193909201916001016130ab565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220a310afc15582e4f2054ae007da6cbad9ef28d81b368a06c83448d7b8e5fd6b8e64736f6c634300081a0033