[ { "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": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "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": "", "type": "address" } ], "name": "allowedTransfer", "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": "createPair", "outputs": [], "stateMutability": "payable", "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": "donationWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "genesis_block", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "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": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxBuyLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletLimit", "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": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferRfi", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenAddr", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueAnyERC20Tokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "weiAmount", "type": "uint256" } ], "name": "rescueETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTaxes", "outputs": [ { "internalType": "uint256", "name": "rfi", "type": "uint256" }, { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "donation", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTrading", "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": "taxes", "outputs": [ { "internalType": "uint256", "name": "rfi", "type": "uint256" }, { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "donation", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totFeesPaid", "outputs": [ { "internalType": "uint256", "name": "rfi", "type": "uint256" }, { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "donation", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "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" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600480546001600160a01b031916731712a1bd3fcea739b710cb5e88541846aeeab8a2179055620000386009600a6200054e565b6200004890633b9aca0062000566565b62000056906000196200059e565b6200006490600019620005b5565b600b55612710620000786009600a6200054e565b6200008890633b9aca0062000566565b6200009590600362000566565b620000a19190620005cf565b600c556103e8620000b56009600a6200054e565b620000c590633b9aca0062000566565b620000d290601962000566565b620000de9190620005cf565b600d556103e8620000f26009600a6200054e565b6200010290633b9aca0062000566565b6200010f90601962000566565b6200011b9190620005cf565b600e556103e86200012f6009600a6200054e565b6200013f90633b9aca0062000566565b6200014c90601962000566565b620001589190620005cf565b600f55604080516080808201835260008083526001602080850182905284860183905260609485018390526011839055601282905560138390556014839055855193840186528284528301819052938201819052910181905260158190556016919091556017819055601855601d80546001600160a01b031916733a4022e37201149149e7c51362a99cd81e206a08179055348015620001f757600080fd5b506200020333620003e9565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600b5460016000620002466000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120939093553083526006918290528220805460ff1916600190811790915591620002956000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556004548216815260068452828120805486166001908117909155601d549092168152828120805486168317905530815260089384905291822080549094168117909355620003196000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600454821681526008909352818320805485166001908117909155601d54909116835291208054909216179055620003876000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c16009600a6200054e565b620003d190633b9aca0062000566565b60405190815260200160405180910390a350620005e6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200049057816000190482111562000474576200047462000439565b808516156200048257918102915b93841c939080029062000454565b509250929050565b600082620004a95750600162000548565b81620004b85750600062000548565b8160018114620004d15760028114620004dc57620004fc565b600191505062000548565b60ff841115620004f057620004f062000439565b50506001821b62000548565b5060208310610133831016604e8410600b841016171562000521575081810a62000548565b6200052d83836200044f565b806000190482111562000544576200054462000439565b0290505b92915050565b60006200055f60ff84168362000498565b9392505050565b600081600019048311821515161562000583576200058362000439565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620005b057620005b062000588565b500690565b600082821015620005ca57620005ca62000439565b500390565b600082620005e157620005e162000588565b500490565b612d8e80620005f66000396000f3fe6080604052600436106102345760003560e01c806370a082311161012e5780639e78fb4f116100ab578063e2f456051161006f578063e2f456051461070a578063e7b94df414610720578063f2fde38b14610740578063f66895a314610760578063f887ea401461078357600080fd5b80639e78fb4f1461065c578063a457c2d714610664578063a8aa1b3114610684578063a9059cbb146106a4578063dd62ed3e146106c457600080fd5b806388f82020116100f257806388f82020146105935780638da5cb5b146105cc57806395d89b41146105ea5780639ba5e4d5146106195780639e252f001461063c57600080fd5b806370a08231146104ce578063715018a6146104ee578063728f8eea14610503578063751039fc1461054657806375f0a8741461055b57600080fd5b806339509351116101bc57806362695eae1161018057806362695eae1461043b578063652e2f041461046b57806366a88d96146104815780636aa5b37f146104975780636ddd1713146104ad57600080fd5b806339509351146103815780634549b039146103a1578063463fef62146103c15780634ada218b146103e15780635342acb41461040257600080fd5b806323b872dd1161020357806323b872dd146102fa578063274a533c1461031a578063293230b8146103305780632d83811914610345578063313ce5671461036557600080fd5b806306fdde0314610240578063095ea7b3146102855780630d65df9b146102b557806318160ddd146102d757600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5060408051808201909152600a8152694d522e2043484544444160b01b60208201525b60405161027c91906128b7565b60405180910390f35b34801561029157600080fd5b506102a56102a0366004612921565b6107a3565b604051901515815260200161027c565b3480156102c157600080fd5b506102d56102d036600461294d565b610812565b005b3480156102e357600080fd5b506102ec6108b6565b60405190815260200161027c565b34801561030657600080fd5b506102a561031536600461294d565b6108d7565b34801561032657600080fd5b506102ec60105481565b34801561033c57600080fd5b506102d56109d8565b34801561035157600080fd5b506102ec61036036600461298e565b610a1d565b34801561037157600080fd5b506040516009815260200161027c565b34801561038d57600080fd5b506102a561039c366004612921565b610aa1565b3480156103ad57600080fd5b506102ec6103bc3660046129b5565b610b28565b3480156103cd57600080fd5b506102d56103dc366004612921565b610bd3565b3480156103ed57600080fd5b506004546102a590600160a01b900460ff1681565b34801561040e57600080fd5b506102a561041d3660046129e5565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561044757600080fd5b506102a56104563660046129e5565b60086020526000908152604090205460ff1681565b34801561047757600080fd5b506102ec600e5481565b34801561048d57600080fd5b506102ec600f5481565b3480156104a357600080fd5b506102ec600d5481565b3480156104b957600080fd5b506004546102a590600160a81b900460ff1681565b3480156104da57600080fd5b506102ec6104e93660046129e5565b610c33565b3480156104fa57600080fd5b506102d5610c92565b34801561050f57600080fd5b506011546012546013546014546105269392919084565b60408051948552602085019390935291830152606082015260800161027c565b34801561055257600080fd5b506102d5610cc8565b34801561056757600080fd5b5060045461057b906001600160a01b031681565b6040516001600160a01b03909116815260200161027c565b34801561059f57600080fd5b506102a56105ae3660046129e5565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156105d857600080fd5b506000546001600160a01b031661057b565b3480156105f657600080fd5b5060408051808201909152600681526543484544444160d01b602082015261026f565b34801561062557600080fd5b50601954601a54601b54601c546105269392919084565b34801561064857600080fd5b506102d561065736600461298e565b610d4b565b6102d5610df6565b34801561067057600080fd5b506102a561067f366004612921565b6110cc565b34801561069057600080fd5b50600a5461057b906001600160a01b031681565b3480156106b057600080fd5b506102a56106bf366004612921565b6111b9565b3480156106d057600080fd5b506102ec6106df366004612a02565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561071657600080fd5b506102ec600c5481565b34801561072c57600080fd5b50601d5461057b906001600160a01b031681565b34801561074c57600080fd5b506102d561075b3660046129e5565b611215565b34801561076c57600080fd5b506015546016546017546018546105269392919084565b34801561078f57600080fd5b5060095461057b906001600160a01b031681565b6004546000903390600160a01b900460ff16806107d857506001600160a01b03811660009081526008602052604090205460ff165b6107fd5760405162461bcd60e51b81526004016107f490612a30565b60405180910390fd5b6108083385856112b0565b5060019392505050565b6000546001600160a01b0316331461083c5760405162461bcd60e51b81526004016107f490612a67565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044015b6020604051808303816000875af115801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b09190612a9c565b50505050565b60006108c46009600a612bb3565b6108d290633b9aca00612bc2565b905090565b6004546000908490600160a01b900460ff168061090c57506001600160a01b03811660009081526008602052604090205460ff165b6109285760405162461bcd60e51b81526004016107f490612a30565b6109338585856113d4565b6001600160a01b0385166000908152600560209081526040808320338452909152902054838110156109b85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016107f4565b6109cc86336109c78785612be1565b6112b0565b50600195945050505050565b6000546001600160a01b03163314610a025760405162461bcd60e51b81526004016107f490612a67565b6004805461ffff60a01b191661010160a01b17905543601055565b6000600b54821115610a845760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107f4565b6000610a8e611acc565b9050610a9a8184612bf8565b9392505050565b6004546000903390600160a01b900460ff1680610ad657506001600160a01b03811660009081526008602052604090205460ff165b610af25760405162461bcd60e51b81526004016107f490612a30565b3360008181526005602090815260408083206001600160a01b0389168452909152902054610808919086906109c7908790612c1a565b6000610b366009600a612bb3565b610b4490633b9aca00612bc2565b831115610b935760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016107f4565b81610bb1576000610ba78460016000611aef565b519150610bcd9050565b6000610bc08460016000611aef565b602001519150610bcd9050565b92915050565b3360008181526006602052604090205460ff16610bef57600080fd5b610bf98383611b4b565b6040516323b872dd60e01b81526001600160a01b0384166004820152306024820181905260448201849052906323b872dd9060640161086d565b6001600160a01b03811660009081526007602052604081205460ff1615610c7057506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610bcd90610a1d565b6000546001600160a01b03163314610cbc5760405162461bcd60e51b81526004016107f490612a67565b610cc66000611b85565b565b6000546001600160a01b03163314610cf25760405162461bcd60e51b81526004016107f490612a67565b610cfe6009600a612bb3565b610d0c90633b9aca00612bc2565b600d55610d1b6009600a612bb3565b610d2990633b9aca00612bc2565b600e55610d386009600a612bb3565b610d4690633b9aca00612bc2565b600f55565b6000546001600160a01b03163314610d755760405162461bcd60e51b81526004016107f490612a67565b80471015610dc55760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e6365000000000000000060448201526064016107f4565b604051339082156108fc029083906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610e205760405162461bcd60e51b81526004016107f490612a67565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e979190612c32565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d9190612c32565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8e9190612c32565b600a80546001600160a01b039283166001600160a01b0319918216811783556000908152600760209081526040808320805460ff1990811660019081179092558654600380548085019091557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018054909716908916179095559454861683526008909152902080549091169091179055600954611031913091166000196112b0565b6009546001600160a01b031663f305d719343061104d81610c33565b6000806110626000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161108496959493929190612c4f565b60606040518083038185885af11580156110a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c79190612c8a565b505050565b6004546000903390600160a01b900460ff168061110157506001600160a01b03811660009081526008602052604090205460ff165b61111d5760405162461bcd60e51b81526004016107f490612a30565b3360009081526005602090815260408083206001600160a01b03881684529091529020548381101561119f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107f4565b6111ae33866109c78785612be1565b506001949350505050565b6004546000903390600160a01b900460ff16806111ee57506001600160a01b03811660009081526008602052604090205460ff165b61120a5760405162461bcd60e51b81526004016107f490612a30565b6108083385856113d4565b6000546001600160a01b0316331461123f5760405162461bcd60e51b81526004016107f490612a67565b6001600160a01b0381166112a45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f4565b6112ad81611b85565b50565b6001600160a01b0383166113125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107f4565b6001600160a01b0382166113735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107f4565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114385760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107f4565b6001600160a01b03821661149a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f4565b600081116114fc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107f4565b61150583610c33565b81111561156e5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016107f4565b6001600160a01b03831660009081526006602052604090205460ff161580156115b057506001600160a01b03821660009081526006602052604090205460ff16155b1561160357600454600160a01b900460ff166116035760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b60448201526064016107f4565b6001600160a01b03831660009081526006602052604090205460ff1615801561164557506001600160a01b03821660009081526006602052604090205460ff16155b801561165357506010544311155b156116c057600a546001600160a01b03908116908316036116c05760405162461bcd60e51b815260206004820152602160248201527f53656c6c73206e6f7420616c6c6f77656420666f72206465616420626c6f636b6044820152607360f81b60648201526084016107f4565b600a546001600160a01b0384811691161480156116f657506001600160a01b03821660009081526006602052604090205460ff16155b801561170c5750600454600160b01b900460ff16155b156117c857600d548111156117635760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d697400000060448201526064016107f4565b600f548161177084610c33565b61177a9190612c1a565b11156117c85760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016107f4565b600a546001600160a01b038481169116148015906117ff57506001600160a01b03821660009081526006602052604090205460ff16155b801561182457506001600160a01b03831660009081526006602052604090205460ff16155b801561183a5750600454600160b01b900460ff16155b1561190b57600e548111156118915760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d6974000060448201526064016107f4565b600a546001600160a01b0383811691161461190b57600f54816118b384610c33565b6118bd9190612c1a565b111561190b5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d697460448201526064016107f4565b6000600c5461191930610c33565b6004549111159150600160b01b900460ff161580156119415750600454600160a81b900460ff165b801561194a5750805b80156119645750600a546001600160a01b03858116911614155b801561198957506001600160a01b03841660009081526006602052604090205460ff16155b80156119ae57506001600160a01b03831660009081526006602052604090205460ff16155b15611a3a57600a546001600160a01b0390811690841603611a0457600c5460408051608081018252601554815260165460208201526017549181019190915260185460608201526119ff9190611bd5565b611a3a565b600c546040805160808101825260115481526012546020820152601354918101919091526014546060820152611a3a9190611bd5565b600454600190600090600160b01b900460ff1680611a7057506001600160a01b03861660009081526006602052604090205460ff165b80611a9357506001600160a01b03851660009081526006602052604090205460ff165b15611a9d57600091505b600a546001600160a01b0390811690861603611ab7575060015b611ac48686868585611d79565b505050505050565b6000806000611ad9612046565b9092509050611ae88183612bf8565b9250505090565b611af761285d565b611b02848484612229565b9050611b17818585611b12611acc565b612399565b60808601526060850152604084015260208301528152611b3f8184611b3a611acc565b612448565b60a08201529392505050565b3060008181526005602090815260408083206001600160a01b038716845290915290205460001981146108b0576108b084838584036112b0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6004805460ff60b01b1916600160b01b17905560608101516020820151604083015160009291611c0491612c1a565b611c0e9190612c1a565b611c19906002612bc2565b9050600081836040015185611c2e9190612bc2565b611c389190612bf8565b90506000611c468286612be1565b905047611c5282612470565b600080611c5f8347612be1565b90506000876040015187611c739190612be1565b611c7d9083612bf8565b90506000886040015182611c919190612bc2565b90508015611ca357611ca387826125c2565b6020890151600090611cb6846002612bc2565b611cc09190612bc2565b600454909150600090611cdb906001600160a01b0316610c33565b9050600c54811115611d065785611cf3576000611cf9565b8a602001515b611d039083612bf8565b91505b8115611d2257600454611d22906001600160a01b03168361266f565b60608b0151600090611d35866002612bc2565b611d3f9190612bc2565b90508015611d5d57601d54611d5d906001600160a01b03168261266f565b50506004805460ff60b01b191690555050505050505050505050565b6000611d86848484611aef565b6001600160a01b03871660009081526007602052604090205490915060ff1615611de8576001600160a01b038616600090815260026020526040902054611dce908590612be1565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526007602052604090205460ff1615611e4b5760c08101516001600160a01b038616600090815260026020526040902054611e319190612c1a565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b038716600090815260016020526040902054611e709190612be1565b6001600160a01b0380881660009081526001602090815260408083209490945584015191881681529190912054611ea79190612c1a565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611ed9575060008160e00151115b15611ef057611ef081604001518260e00151612788565b600081608001511180611f0857506000816101200151115b15611f8d57611f2081608001518261012001516127bd565b306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836101400151846101000151856101200151611f719190612c1a565b611f7b9190612c1a565b60405190815260200160405180910390a35b600081606001511180611fa557506000816101000151115b15611fbd57611fbd8160600151826101000151612833565b60008160a001511180611fd557506000816101400151115b15611fed57611fed8160a00151826101400151612848565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161203691815260200190565b60405180910390a3505050505050565b600b5460009081908161205b6009600a612bb3565b61206990633b9aca00612bc2565b905060005b6003548110156121ca5782600160006003848154811061209057612090612cb8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120fb57508160026000600384815481106120d4576120d4612cb8565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561212857600b5461210f6009600a612bb3565b61211d90633b9aca00612bc2565b945094505050509091565b600160006003838154811061213f5761213f612cb8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461216e9084612be1565b9250600260006003838154811061218757612187612cb8565b60009182526020808320909101546001600160a01b031683528201929092526040019020546121b69083612be1565b9150806121c281612cce565b91505061206e565b506121d76009600a612bb3565b6121e590633b9aca00612bc2565b600b546121f29190612bf8565b82101561222057600b546122086009600a612bb3565b61221690633b9aca00612bc2565b9350935050509091565b90939092509050565b61223161285d565b826122425760c08101849052610a9a565b61226d6040518060800160405280600081526020016000815260200160008152602001600081525090565b82156122a2575060408051608081018252601554815260165460208201526017549181019190915260185460608201526122cd565b5060408051608081018252601154815260125460208201526013549181019190915260145460608201525b80516064906122dc9087612bc2565b6122e69190612bf8565b60e083015260208101516064906122fd9087612bc2565b6123079190612bf8565b610100830152604081015160649061231f9087612bc2565b6123299190612bf8565b61012083015260608101516064906123419087612bc2565b61234b9190612bf8565b610140830181905261012083015161010084015160e085015161236e9089612be1565b6123789190612be1565b6123829190612be1565b61238c9190612be1565b60c0830152509392505050565b6000808080806123a98689612bc2565b9450866123c15750839250600091508190508061243d565b858960e001516123d19190612bc2565b9250858961010001516123e49190612bc2565b9150858961012001516123f79190612bc2565b90506000868a610140015161240c9190612bc2565b905080828461241b878a612be1565b6124259190612be1565b61242f9190612be1565b6124399190612be1565b9450505b945094509450945094565b60008261245757506000610a9a565b818461014001516124689190612bc2565b949350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106124a5576124a5612cb8565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156124fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125229190612c32565b8160018151811061253557612535612cb8565b6001600160a01b03928316602091820292909201015260095461255b91309116846112b0565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790612594908590600090869030904290600401612ce7565b600060405180830381600087803b1580156125ae57600080fd5b505af1158015611ac4573d6000803e3d6000fd5b6009546125da9030906001600160a01b0316846112b0565b6009546001600160a01b031663f305d7198230856000806126036000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161262596959493929190612c4f565b60606040518083038185885af1158015612643573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126689190612c8a565b5050505050565b804710156126bf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016107f4565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461270c576040519150601f19603f3d011682016040523d82523d6000602084013e612711565b606091505b50509050806110c75760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016107f4565b81600b600082825461279a9190612be1565b9091555050601980548291906000906127b4908490612c1a565b90915550505050565b80601960020160008282546127d29190612c1a565b90915550503060009081526007602052604090205460ff161561281457306000908152600260205260408120805483929061280e908490612c1a565b90915550505b30600090815260016020526040812080548492906127b4908490612c1a565b80601960010160008282546127d29190612c1a565b80601960030160008282546127d29190612c1a565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b818110156128e4578581018301518582016040015282016128c8565b818111156128f6576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146112ad57600080fd5b6000806040838503121561293457600080fd5b823561293f8161290c565b946020939093013593505050565b60008060006060848603121561296257600080fd5b833561296d8161290c565b9250602084013561297d8161290c565b929592945050506040919091013590565b6000602082840312156129a057600080fd5b5035919050565b80151581146112ad57600080fd5b600080604083850312156129c857600080fd5b8235915060208301356129da816129a7565b809150509250929050565b6000602082840312156129f757600080fd5b8135610a9a8161290c565b60008060408385031215612a1557600080fd5b8235612a208161290c565b915060208301356129da8161290c565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215612aae57600080fd5b8151610a9a816129a7565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115612b0a578160001904821115612af057612af0612ab9565b80851615612afd57918102915b93841c9390800290612ad4565b509250929050565b600082612b2157506001610bcd565b81612b2e57506000610bcd565b8160018114612b445760028114612b4e57612b6a565b6001915050610bcd565b60ff841115612b5f57612b5f612ab9565b50506001821b610bcd565b5060208310610133831016604e8410600b8410161715612b8d575081810a610bcd565b612b978383612acf565b8060001904821115612bab57612bab612ab9565b029392505050565b6000610a9a60ff841683612b12565b6000816000190483118215151615612bdc57612bdc612ab9565b500290565b600082821015612bf357612bf3612ab9565b500390565b600082612c1557634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612c2d57612c2d612ab9565b500190565b600060208284031215612c4457600080fd5b8151610a9a8161290c565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215612c9f57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201612ce057612ce0612ab9565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d375784516001600160a01b031683529383019391830191600101612d12565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122043be748e996f9bf8b2a7a2044478d7b9aacc4ae941d80564c650be932ab476a764736f6c634300080e0033