[ { "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": false, "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "RewardLiquidityProviders", "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": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapETHForTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForETH", "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": [], "name": "IsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellTaxFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" } ], "name": "deliver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getEthAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUnlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "inSwapAndLiquify", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isAdmin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isBuy", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [ { "internalType": "uint256", "name": "time", "type": "uint256" } ], "name": "lock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwapAmount", "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": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferFee", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsAllBool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "bools", "type": "bool" } ], "name": "setIsOpen", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyLiquidityFeea", "type": "uint256" }, { "internalType": "uint256", "name": "sellLiquidityFeea", "type": "uint256" } ], "name": "setLiquidityFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyMarketFeea", "type": "uint256" }, { "internalType": "uint256", "name": "sellMarketFeea", "type": "uint256" } ], "name": "setMarketFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingAddress", "type": "address" } ], "name": "setMarketingAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minimumTokensBeforeSwap", "type": "uint256" } ], "name": "setNumTokensSellToAddToLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyTaxFeea", "type": "uint256" }, { "internalType": "uint256", "name": "sellTaxFeea", "type": "uint256" } ], "name": "setTaxFeePercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAllBuyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAllSellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "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": [], "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052600580546001600160a01b03191673028c21b1b27e763828825145aece96c5fc8ef91e17905561dead6080526b204fce5e3e25026110000000600c81905561004d905f19610435565b610058905f19610468565b600d55604080518082019091526005815264446f72616560d81b6020820152600f906100849082610513565b50604080518082019091526005815264446f72616560d81b60208201526010906100ae9082610513565b506011805460ff191660129081179091555f908190556013819055601e60148190556015819055601682905560178290556100f591906100ef9082906103ca565b906103ca565b6018555f6019819055601a819055601e601b819055601c819055601d82905581815561012791906100ef9082906103ca565b601f556a084595161401484a000000602055348015610144575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d54335f9081526006602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa1580156101e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020c91906105cd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610257573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027b91906105cd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156102c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e991906105cd565b6001600160a01b0390811660c05281811660a052600554165f9081526009602081905260408220805460ff19166001908117909155916103305f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff1995861617905530815260099092529020805490911660011790556103763390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516103bc91815260200190565b60405180910390a350610606565b5f806103d683856105f3565b90508381101561042c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b5f8261044f57634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042f5761042f610454565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806104a357607f821691505b6020821081036104c157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561050e57805f5260205f20601f840160051c810160208510156104ec5750805b601f840160051c820191505b8181101561050b575f81556001016104f8565b50505b505050565b81516001600160401b0381111561052c5761052c61047b565b6105408161053a845461048f565b846104c7565b6020601f821160018114610572575f831561055b5750848201515b5f19600385901b1c1916600184901b17845561050b565b5f84815260208120601f198516915b828110156105a15787850151825560209485019460019092019101610581565b50848210156105be57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156105dd575f80fd5b81516001600160a01b038116811461042c575f80fd5b8082018082111561042f5761042f610454565b60805160a05160c051612e186106535f395f818161061801528181611b400152611c2b01525f818161041101528181612242015281816122f9015261233501525f6104eb0152612e185ff3fe608060405260043610610344575f3560e01c8063701cf6f4116101bd578063a5ece941116100f2578063dc44b6a011610092578063efcc52de1161006d578063efcc52de146109ac578063f0f165af146109c1578063f2d58c23146109e0578063f2fde38b146109ff575f80fd5b8063dc44b6a014610934578063dd46706414610949578063dd62ed3e14610968575f80fd5b8063a9aefd35116100cd578063a9aefd35146108cc578063c4d259ad146108eb578063cb85f76f1461090a578063d2d7ad831461091f575f80fd5b8063a5ece9411461087a578063a69df4b514610899578063a9059cbb146108ad575f80fd5b806388f820201161015d57806395d89b411161013857806395d89b411461081f5780639847b14f14610833578063a073d37f14610847578063a457c2d71461085b575f80fd5b806388f82020146107ad5780638da5cb5b146107e4578063906e9dd014610800575f80fd5b8063768dc71011610198578063768dc7101461073257806379fa2103146107605780637d315a2e1461077957806388790a6814610798575f80fd5b8063701cf6f4146106ea57806370a08231146106ff578063715018a61461071e575f80fd5b80632d8381191161029357806349bd5a5e116102335780635342acb41161020e5780635342acb414610678578063557ed1ba146106af578063602bc62b146106c1578063678fc4e6146106d5575f80fd5b806349bd5a5e146106075780634fb908481461063a57806352390c0214610659575f80fd5b80633685d4191161026e5780633685d4191461058b57806339509351146105aa5780633bd5d173146105c95780634549b039146105e8575f80fd5b80632d8381191461052c57806330b263ba1461054b578063313ce5671461056a575f80fd5b806318160ddd116102fe57806323b872dd116102d957806323b872dd1461048d57806324d7806c146104ac57806327c8f835146104da57806328875c161461050d575f80fd5b806318160ddd1461044b578063200a692d1461045f578063220f669614610474575f80fd5b806306fdde031461034f578063085a10cf14610379578063095ea7b31461039a5780630fda3349146103c957806313114a9d146103ec5780631694505e14610400575f80fd5b3661034b57005b5f80fd5b34801561035a575f80fd5b50610363610a1e565b60405161037091906128d9565b60405180910390f35b348015610384575f80fd5b50610398610393366004612922565b610aae565b005b3480156103a5575f80fd5b506103b96103b436600461295a565b610b32565b6040519015158152602001610370565b3480156103d4575f80fd5b506103de60145481565b604051908152602001610370565b3480156103f7575f80fd5b50600e546103de565b34801561040b575f80fd5b506104337f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610370565b348015610456575f80fd5b50600c546103de565b34801561046a575f80fd5b506103de60195481565b34801561047f575f80fd5b506021546103b99060ff1681565b348015610498575f80fd5b506103b96104a7366004612984565b610b48565b3480156104b7575f80fd5b506103b96104c63660046129c2565b60046020525f908152604090205460ff1681565b3480156104e5575f80fd5b506104337f000000000000000000000000000000000000000000000000000000000000000081565b348015610518575f80fd5b506103986105273660046129f1565b610baf565b348015610537575f80fd5b506103de610546366004612ace565b610c37565b348015610556575f80fd5b50610398610565366004612ae5565b610cb9565b348015610575575f80fd5b5060115460405160ff9091168152602001610370565b348015610596575f80fd5b506103986105a53660046129c2565b610d76565b3480156105b5575f80fd5b506103b96105c436600461295a565b610f1a565b3480156105d4575f80fd5b506103986105e3366004612ace565b610f4f565b3480156105f3575f80fd5b506103de610602366004612b05565b611037565b348015610612575f80fd5b506104337f000000000000000000000000000000000000000000000000000000000000000081565b348015610645575f80fd5b506021546103b99062010000900460ff1681565b348015610664575f80fd5b506103986106733660046129c2565b6110c3565b348015610683575f80fd5b506103b96106923660046129c2565b6001600160a01b03165f9081526009602052604090205460ff1690565b3480156106ba575f80fd5b50426103de565b3480156106cc575f80fd5b506002546103de565b3480156106e0575f80fd5b506103de601f5481565b3480156106f5575f80fd5b506103de601b5481565b34801561070a575f80fd5b506103de6107193660046129c2565b611210565b348015610729575f80fd5b5061039861126c565b34801561073d575f80fd5b506103b961074c3660046129c2565b60096020525f908152604090205460ff1681565b34801561076b575f80fd5b506003546103b99060ff1681565b348015610784575f80fd5b50610398610793366004612ae5565b6112ca565b3480156107a3575f80fd5b506103de601d5481565b3480156107b8575f80fd5b506103b96107c73660046129c2565b6001600160a01b03165f908152600a602052604090205460ff1690565b3480156107ef575f80fd5b505f546001600160a01b0316610433565b34801561080b575f80fd5b5061039861081a3660046129c2565b61135e565b34801561082a575f80fd5b506103636113a9565b34801561083e575f80fd5b506103986113b8565b348015610852575f80fd5b506020546103de565b348015610866575f80fd5b506103b961087536600461295a565b61140d565b348015610885575f80fd5b50600554610433906001600160a01b031681565b3480156108a4575f80fd5b5061039861145a565b3480156108b8575f80fd5b506103b96108c736600461295a565b61155d565b3480156108d7575f80fd5b506103986108e6366004612922565b611569565b3480156108f6575f80fd5b50610398610905366004612b26565b6115ac565b348015610915575f80fd5b506103de60185481565b34801561092a575f80fd5b506103de60205481565b34801561093f575f80fd5b506103de60165481565b348015610954575f80fd5b50610398610963366004612ace565b6115ff565b348015610973575f80fd5b506103de610982366004612b50565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b3480156109b7575f80fd5b506103de60125481565b3480156109cc575f80fd5b506103986109db366004612ace565b611680565b3480156109eb575f80fd5b506103986109fa366004612ae5565b6116ae565b348015610a0a575f80fd5b50610398610a193660046129c2565b611742565b6060600f8054610a2d90612b87565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5990612b87565b8015610aa45780601f10610a7b57610100808354040283529160200191610aa4565b820191905f5260205f20905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b5f546001600160a01b03163314610ae05760405162461bcd60e51b8152600401610ad790612bbf565b60405180910390fd5b60035460ff1615610b1f5760405162461bcd60e51b8152602060048201526009602482015268125cc81bdc195b995960ba1b6044820152606401610ad7565b6003805460ff1916911515919091179055565b5f610b3e338484611816565b5060015b92915050565b5f610b54848484611939565b610ba58433610ba085604051806060016040528060288152602001612d76602891396001600160a01b038a165f9081526008602090815260408083203384529091529020549190611c75565b611816565b5060019392505050565b5f546001600160a01b03163314610bd85760405162461bcd60e51b8152600401610ad790612bbf565b5f5b8251811015610c32578160095f858481518110610bf957610bf9612bf4565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610bda565b505050565b5f600d54821115610c9d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610ad7565b5f610ca6611cad565b9050610cb28382611cce565b9392505050565b5f546001600160a01b03163314610ce25760405162461bcd60e51b8152600401610ad790612bbf565b601e821115610d035760405162461bcd60e51b8152600401610ad790612c08565b601e811115610d245760405162461bcd60e51b8152600401610ad790612c08565b601282905560198190556013829055601a819055601654601454610d549190610d4e908590611d0f565b90611d0f565b601855601d54601b54601954610d6f9291610d4e9190611d0f565b601f555050565b5f546001600160a01b03163314610d9f5760405162461bcd60e51b8152600401610ad790612bbf565b6001600160a01b0381165f908152600a602052604090205460ff16610e065760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610ad7565b5f5b600b54811015610f1657816001600160a01b0316600b8281548110610e2f57610e2f612bf4565b5f918252602090912001546001600160a01b031603610f0e57600b8054610e5890600190612c4c565b81548110610e6857610e68612bf4565b5f91825260209091200154600b80546001600160a01b039092169183908110610e9357610e93612bf4565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600782526040808220829055600a90925220805460ff19169055600b805480610eea57610eea612c5f565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b600101610e08565b5050565b335f8181526008602090815260408083206001600160a01b03871684529091528120549091610b3e918590610ba09086611d0f565b335f818152600a602052604090205460ff1615610fc35760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610ad7565b5f610fcd83611d6d565b5050506001600160a01b0386165f90815260066020526040902054939450610ffa93925084915050611dc0565b6001600160a01b0383165f90815260066020526040902055600d5461101f9082611dc0565b600d55600e5461102f9084611d0f565b600e55505050565b5f600c5483111561108a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610ad7565b816110a9575f61109984611d6d565b50949650610b4295505050505050565b5f6110b384611d6d565b50939650610b4295505050505050565b5f546001600160a01b031633146110ec5760405162461bcd60e51b8152600401610ad790612bbf565b6001600160a01b0381165f908152600a602052604090205460ff16156111545760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610ad7565b6001600160a01b0381165f90815260066020526040902054156111ab576001600160a01b0381165f9081526006602052604090205461119290610c37565b6001600160a01b0382165f908152600760205260409020555b6001600160a01b03165f818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6001600160a01b0381165f908152600a602052604081205460ff161561124b57506001600160a01b03165f9081526007602052604090205490565b6001600160a01b0382165f90815260066020526040902054610b4290610c37565b5f546001600160a01b031633146112955760405162461bcd60e51b8152600401610ad790612bbf565b5f80546040516001600160a01b03909116905f80516020612d9e833981519152908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146112f35760405162461bcd60e51b8152600401610ad790612bbf565b601e8211156113145760405162461bcd60e51b8152600401610ad790612c08565b601e8111156113355760405162461bcd60e51b8152600401610ad790612c08565b6014829055601b8190556015829055601c819055601654601254610d549190610d4e9085611d0f565b5f546001600160a01b031633146113875760405162461bcd60e51b8152600401610ad790612bbf565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b606060108054610a2d90612b87565b5f546001600160a01b031633146113e15760405162461bcd60e51b8152600401610ad790612bbf565b60405133904780156108fc02915f818181858888f1935050505015801561140a573d5f803e3d5ffd5b50565b5f610b3e3384610ba085604051806060016040528060258152602001612dbe60259139335f9081526008602090815260408083206001600160a01b038d1684529091529020549190611c75565b6001546001600160a01b031633146114c05760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610ad7565b60025442116115115760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610ad7565b6001545f80546040516001600160a01b0393841693909116915f80516020612d9e83398151915291a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b5f610b3e338484611939565b5f546001600160a01b031633146115925760405162461bcd60e51b8152600401610ad790612bbf565b602180549115156101000261ff0019909216919091179055565b5f546001600160a01b031633146115d55760405162461bcd60e51b8152600401610ad790612bbf565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146116285760405162461bcd60e51b8152600401610ad790612bbf565b5f8054600180546001600160a01b03199081166001600160a01b038416179091551690556116568142612c73565b6002555f80546040516001600160a01b03909116905f80516020612d9e833981519152908390a350565b5f546001600160a01b031633146116a95760405162461bcd60e51b8152600401610ad790612bbf565b602055565b5f546001600160a01b031633146116d75760405162461bcd60e51b8152600401610ad790612bbf565b601e8211156116f85760405162461bcd60e51b8152600401610ad790612c08565b601e8111156117195760405162461bcd60e51b8152600401610ad790612c08565b6016829055601d8190556017829055601e819055601454601254610d54918491610d4e91611d0f565b5f546001600160a01b0316331461176b5760405162461bcd60e51b8152600401610ad790612bbf565b6001600160a01b0381166117d05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad7565b5f80546040516001600160a01b03808516939216915f80516020612d9e83398151915291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166118785760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ad7565b6001600160a01b0382166118d95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ad7565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661199d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ad7565b6001600160a01b0382166119ff5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ad7565b5f8111611a605760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ad7565b60035460ff16158015611a8057505f546001600160a01b03848116911614155b8015611a9957505f546001600160a01b03838116911614155b8015611abd57506001600160a01b0383165f9081526004602052604090205460ff16155b8015611ae157506001600160a01b0382165f9081526004602052604090205460ff16155b15611b1c5760405162461bcd60e51b815260206004820152600b60248201526a24b9903737ba1037b832b760a91b6044820152606401610ad7565b5f611b2630611210565b6020546021549192508210159060ff16158015611b7457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b8015611b8d57505f546001600160a01b03868116911614155b8015611ba657505f546001600160a01b03858116911614155b15611bc8578015611bc857600554611bc89083906001600160a01b0316611e01565b6001600160a01b0385165f9081526009602052604090205460019060ff1680611c0857506001600160a01b0385165f9081526009602052604090205460ff165b15611c1057505f5b6021805462ff00001916620100001790556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690861603611c61576021805462ff0000191690555b611c6d86868684611e2c565b505050505050565b5f8184841115611c985760405162461bcd60e51b8152600401610ad791906128d9565b505f611ca48486612c4c565b95945050505050565b5f805f611cb8611fa6565b9092509050611cc78282611cce565b9250505090565b5f610cb283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612115565b5f80611d1b8385612c73565b905083811015610cb25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad7565b5f805f805f805f805f805f611d818c612141565b93509350935093505f805f611da08f878787611d9b611cad565b612190565b919f509d509b509599509397509195509350505050919395979092949650565b5f610cb283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c75565b6021805460ff191660011790558115611e1e57611e1e82826121ed565b50506021805460ff19169055565b80611e7657611e7660128054601355601680546017556014805460155560198054601a55601d8054601e55601b8054601c555f908190559081905590819055928390559082905555565b6001600160a01b0384165f908152600a602052604090205460ff168015611eb557506001600160a01b0383165f908152600a602052604090205460ff16155b15611eca57611ec58484846123dd565b611f72565b6001600160a01b0384165f908152600a602052604090205460ff16158015611f0957506001600160a01b0383165f908152600a602052604090205460ff165b15611f1957611ec584848461251a565b6001600160a01b0384165f908152600a602052604090205460ff168015611f5757506001600160a01b0383165f908152600a602052604090205460ff165b15611f6757611ec58484846125d1565b611f72848484612653565b80611fa057611fa0601354601255601754601655601554601455601a54601955601e54601d55601c54601b55565b50505050565b600d54600c545f918291825b600b548110156120e5578260065f600b8481548110611fd357611fd3612bf4565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054118061203b57508160075f600b848154811061201557612015612bf4565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b1561205157600d54600c54945094505050509091565b61209560065f600b848154811061206a5761206a612bf4565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548490611dc0565b92506120db60075f600b84815481106120b0576120b0612bf4565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548390611dc0565b9150600101611fb2565b50600c54600d546120f591611cce565b82101561210c57600d54600c549350935050509091565b90939092509050565b5f81836121355760405162461bcd60e51b8152600401610ad791906128d9565b505f611ca48486612c86565b5f805f805f61214f866126a7565b90505f61215b876126df565b90505f61216788612710565b90505f6121808261217a85818d89611dc0565b90611dc0565b9993985091965094509092505050565b5f80808061219e898661273d565b90505f6121ab898761273d565b90505f6121b8898861273d565b90505f6121c5898961273d565b90505f6121d88261217a85818989611dc0565b949d949c50929a509298505050505050505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061222057612220612bf4565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c09190612ca5565b816001815181106122d3576122d3612bf4565b60200260200101906001600160a01b031690816001600160a01b03168152505061231e307f000000000000000000000000000000000000000000000000000000000000000085611816565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906123729086905f90869088904290600401612d03565b5f604051808303815f87803b158015612389575f80fd5b505af115801561239b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a783826040516123d0929190612d3e565b60405180910390a1505050565b5f805f805f805f6123ed88611d6d565b96509650965096509650965096506124318860075f8d6001600160a01b03166001600160a01b031681526020019081526020015f2054611dc090919063ffffffff16565b6001600160a01b038b165f9081526007602090815260408083209390935560069052205461245f9088611dc0565b6001600160a01b03808c165f9081526006602052604080822093909355908b168152205461248d9087611d0f565b6001600160a01b038a165f908152600660205260409020556124ae826127bb565b6124b7816127bb565b6124c1858461283d565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161250691815260200190565b60405180910390a350505050505050505050565b5f805f805f805f61252a88611d6d565b965096509650965096509650965061256e8760065f8d6001600160a01b03166001600160a01b031681526020019081526020015f2054611dc090919063ffffffff16565b6001600160a01b03808c165f90815260066020908152604080832094909455918c168152600790915220546125a39085611d0f565b6001600160a01b038a165f9081526007602090815260408083209390935560069052205461248d9087611d0f565b5f805f805f805f6125e188611d6d565b96509650965096509650965096506126258860075f8d6001600160a01b03166001600160a01b031681526020019081526020015f2054611dc090919063ffffffff16565b6001600160a01b038b165f9081526007602090815260408083209390935560069052205461256e9088611dc0565b5f805f805f805f61266388611d6d565b965096509650965096509650965061245f8760065f8d6001600160a01b03166001600160a01b031681526020019081526020015f2054611dc090919063ffffffff16565b6021545f90819062010000900460ff16156126c557506012546126ca565b506019545b610cb260646126d9858461273d565b90611cce565b6021545f90819062010000900460ff16156126fd57506016546126ca565b50601d54610cb260646126d9858461273d565b6021545f90819062010000900460ff161561272e57506014546126ca565b50601b54610cb260646126d985845b5f825f0361274c57505f610b42565b5f6127578385612d5e565b9050826127648583612c86565b14610cb25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ad7565b5f6127c4611cad565b90505f6127d1838361273d565b305f908152600660205260409020549091506127ed9082611d0f565b305f90815260066020908152604080832093909355600a9052205460ff1615610c3257305f908152600760205260409020546128299084611d0f565b305f90815260076020526040902055505050565b602154610100900460ff161561287157600d5461285a9083611dc0565b600d55600e5461286a9082611d0f565b600e555050565b305f9081526006602052604090205461288a9083611d0f565b305f90815260066020908152604080832093909355600a9052205460ff1615610f1657305f908152600760205260409020546128c69082611d0f565b305f908152600760205260409020555050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b8035801515811461291d575f80fd5b919050565b5f60208284031215612932575f80fd5b610cb28261290e565b6001600160a01b038116811461140a575f80fd5b803561291d8161293b565b5f806040838503121561296b575f80fd5b82356129768161293b565b946020939093013593505050565b5f805f60608486031215612996575f80fd5b83356129a18161293b565b925060208401356129b18161293b565b929592945050506040919091013590565b5f602082840312156129d2575f80fd5b8135610cb28161293b565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215612a02575f80fd5b823567ffffffffffffffff811115612a18575f80fd5b8301601f81018513612a28575f80fd5b803567ffffffffffffffff811115612a4257612a426129dd565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612a6f57612a6f6129dd565b604052918252602081840181019290810188841115612a8c575f80fd5b6020850194505b83851015612ab257612aa48561294f565b815260209485019401612a93565b509450612ac5925050506020840161290e565b90509250929050565b5f60208284031215612ade575f80fd5b5035919050565b5f8060408385031215612af6575f80fd5b50508035926020909101359150565b5f8060408385031215612b16575f80fd5b82359150612ac56020840161290e565b5f8060408385031215612b37575f80fd5b8235612b428161293b565b9150612ac56020840161290e565b5f8060408385031215612b61575f80fd5b8235612b6c8161293b565b91506020830135612b7c8161293b565b809150509250929050565b600181811c90821680612b9b57607f821691505b602082108103612bb957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b60208082526016908201527513585e1a5b5d5b481b1a5b5a5d08195e18d95959195960521b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610b4257610b42612c38565b634e487b7160e01b5f52603160045260245ffd5b80820180821115610b4257610b42612c38565b5f82612ca057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612cb5575f80fd5b8151610cb28161293b565b5f8151808452602084019350602083015f5b82811015612cf95781516001600160a01b0316865260209586019590910190600101612cd2565b5093949350505050565b85815284602082015260a060408201525f612d2160a0830186612cc0565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f612d566040830184612cc0565b949350505050565b8082028115828204841417610b4257610b42612c3856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f52c5a34e3fc3c99ef65dc881b7dbca1961db4895574739ee2f1321bd573264064736f6c634300081a0033