[ { "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": false, "internalType": "uint256", "name": "buyTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyProjectTax", "type": "uint256" } ], "name": "BuyFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DisabledTransferDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LimitsRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "MaxTxUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "MaxWalletUpdated", "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": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "ProjectWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "sellTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellProjectTax", "type": "uint256" } ], "name": "SellFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetDexPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMin", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMax", "type": "uint256" } ], "name": "SwapbackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "TradingEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "name": "addressPermissions", "outputs": [ { "internalType": "bool", "name": "_transferTaxExempt", "type": "bool" }, { "internalType": "bool", "name": "_transferLimitExempt", "type": "bool" }, { "internalType": "bool", "name": "_automatedMarketMakerPairs", "type": "bool" } ], "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": "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": "address", "name": "newDevWal", "type": "address" } ], "name": "developerWalletChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnBuysSet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnSellsChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "feesOnTransfersChange", "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": "newMktWal", "type": "address" } ], "name": "marketingWalletChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxTxLimit", "type": "uint256" } ], "name": "maxTransactionLimitChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMaxWalletLimit", "type": "uint256" } ], "name": "maxWalletLimitChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_anti", "type": "bool" } ], "name": "setAnti", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" }, { "internalType": "bool", "name": "_isBlacklisted", "type": "bool" } ], "name": "setBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setBlacklistEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_canChange", "type": "bool" } ], "name": "setCanChangeBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setDexPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "bool", "name": "_isBlacklisted", "type": "bool" } ], "name": "setMultipleBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enable", "type": "bool" }, { "internalType": "uint256", "name": "_min", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" } ], "name": "swapBackMinMaxEnabledSet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "transactionLimitsExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transactionLimitsRemove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "transactionTaxesExempt", "outputs": [], "stateMutability": "nonpayable", "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": "valuesForLimits", "outputs": [ { "internalType": "bool", "name": "_limitsEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "_maxTx", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForReceivers", "outputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_projectWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForSwapback", "outputs": [ { "internalType": "bool", "name": "_swapbackEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_swapBackValueMin", "type": "uint256" }, { "internalType": "uint256", "name": "_swapBackValueMax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "valuesForTaxes", "outputs": [ { "internalType": "uint256", "name": "_buyTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_buyMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_buyProjectTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_sellMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellProjectTax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526005805460ff60a81b191690556008805460ff199081166001908117909255600c805482169055601c805461ffff1916610101179055601e805490911690911790553480156200005357600080fd5b506040518060400160405280600581526020016450656e647960d81b8152506040518060400160405280600581526020016450454e445960d81b8152508160039081620000a19190620008a6565b506004620000b08282620008a6565b505050620000cd620000c76200045b60201b60201c565b6200045f565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000ef816001620004b1565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000160919062000972565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d4919062000972565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000248919062000972565b6001600160a01b031660a081905262000263906001620004b1565b60a0516200027390600162000560565b601e6000603281606381806200028c6012600a62000ab9565b6200029f9066017e9d8602b40062000aca565b90506103e8620002b182600a62000aca565b620002bd919062000ae4565b600a9081556103e890620002d390839062000aca565b620002df919062000ae4565b6009556103e8620002f282600162000aca565b620002fe919062000ae4565b60065560646200031082600262000aca565b6200031c919062000ae4565b600755600f879055601086905562000335868862000b07565b600e55601285905560138490556200034e848662000b07565b6011556015839055601682905562000367828462000b07565b601455600c8054610100600160a81b0319167462aa5af2aab90ef6e483c23abefc527a3842c6b200179055600d8054336001600160a01b03199091168117909155620003b5906001620005b4565b620003c2306001620005b4565b620003d161dead6001620005b4565b600c54620003ef9061010090046001600160a01b03166001620005b4565b620003fc336001620004b1565b62000409306001620004b1565b6200041861dead6001620004b1565b600c54620004369061010090046001600160a01b03166001620004b1565b620004413362000658565b6200044d338262000718565b505050505050505062000b1d565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620005005760405162461bcd60e51b81526020600482018190526024820152600080516020620035ab83398151915260448201526064015b60405180910390fd5b6001600160a01b0382166000818152601a6020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291015b60405180910390a25050565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b6005546001600160a01b03163314620005ff5760405162461bcd60e51b81526020600482018190526024820152600080516020620035ab8339815191526044820152606401620004f7565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910162000554565b6005546001600160a01b03163314620006a35760405162461bcd60e51b81526020600482018190526024820152600080516020620035ab8339815191526044820152606401620004f7565b6001600160a01b0381166200070a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004f7565b62000715816200045f565b50565b6001600160a01b038216620007705760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004f7565b806002600082825462000784919062000b07565b90915550506001600160a01b03821660009081526020819052604081208054839290620007b390849062000b07565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200082d57607f821691505b6020821081036200084e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007fd57600081815260208120601f850160051c810160208610156200087d5750805b601f850160051c820191505b818110156200089e5782815560010162000889565b505050505050565b81516001600160401b03811115620008c257620008c262000802565b620008da81620008d3845462000818565b8462000854565b602080601f831160018114620009125760008415620008f95750858301515b600019600386901b1c1916600185901b1785556200089e565b600085815260208120601f198616915b82811015620009435788860151825594840194600190910190840162000922565b5085821015620009625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200098557600080fd5b81516001600160a01b03811681146200099d57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620009fb578160001904821115620009df57620009df620009a4565b80851615620009ed57918102915b93841c9390800290620009bf565b509250929050565b60008262000a145750600162000ab3565b8162000a235750600062000ab3565b816001811462000a3c576002811462000a475762000a67565b600191505062000ab3565b60ff84111562000a5b5762000a5b620009a4565b50506001821b62000ab3565b5060208310610133831016604e8410600b841016171562000a8c575081810a62000ab3565b62000a988383620009ba565b806000190482111562000aaf5762000aaf620009a4565b0290505b92915050565b60006200099d60ff84168362000a03565b808202811582820484141762000ab35762000ab3620009a4565b60008262000b0257634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000ab35762000ab3620009a4565b60805160a051612a5362000b58600039600081816107a901526114780152600081816123bf0152818161247801526124b40152612a536000f3fe6080604052600436106102345760003560e01c8063662906e41161012e578063c9567bf9116100ab578063e55648f41161006f578063e55648f414610777578063f242ab4114610797578063f2fde38b146107cb578063f3cfad94146107eb578063fb42948a1461080b57600080fd5b8063c9567bf914610690578063c9b6c1ce146106a5578063ca3608c3146106c5578063d7ff53e5146106e5578063dd62ed3e1461073157600080fd5b806395d89b41116100f257806395d89b41146105a8578063a457c2d7146105bd578063a9059cbb146105dd578063bb931db2146105fd578063c40b793b1461061d57600080fd5b8063662906e4146104eb57806370a082311461050b578063715018a6146105415780637ff6f7b9146105565780638da5cb5b1461057657600080fd5b8063313ce567116101bc5780634482eea8116101805780634482eea81461044a5780634ada218b1461046a57806351b8dc7b14610484578063622fa772146104a457806363a7e2d9146104cb57600080fd5b8063313ce567146103945780633308740b146103b0578063336ddc29146103ea578063391822af1461040a578063395093511461042a57600080fd5b8063135214951161020357806313521495146102f5578063153b0d1e1461031557806318160ddd1461033557806321108a521461035457806323b872dd1461037457600080fd5b806306fdde0314610240578063088c9eb41461026b578063095ea7b3146102a35780631201cbd0146102d357600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b50610255610820565b6040516102629190612534565b60405180910390f35b34801561027757600080fd5b50600c54600d54604080516101009093046001600160a01b039081168452909116602083015201610262565b3480156102af57600080fd5b506102c36102be366004612597565b6108b2565b6040519015158152602001610262565b3480156102df57600080fd5b506102f36102ee3660046125d8565b6108c9565b005b34801561030157600080fd5b506102f36103103660046125f3565b61090f565b34801561032157600080fd5b506102f3610330366004612677565b6109d7565b34801561034157600080fd5b506002545b604051908152602001610262565b34801561036057600080fd5b506102f361036f3660046126ac565b610a53565b34801561038057600080fd5b506102c361038f3660046126ce565b610b45565b3480156103a057600080fd5b5060405160128152602001610262565b3480156103bc57600080fd5b50600854600954600a5460ff909216915b604080519315158452602084019290925290820152606001610262565b3480156103f657600080fd5b506102f361040536600461270f565b610bef565b34801561041657600080fd5b506102f36104253660046126ac565b610c76565b34801561043657600080fd5b506102c3610445366004612597565b610d61565b34801561045657600080fd5b506102f3610465366004612677565b610d9d565b34801561047657600080fd5b50600c546102c39060ff1681565b34801561049057600080fd5b506102f361049f36600461270f565b610e27565b3480156104b057600080fd5b50600554600654600754600160a81b90920460ff16916103cd565b3480156104d757600080fd5b506102f36104e63660046126ac565b610eb9565b3480156104f757600080fd5b506102f36105063660046125d8565b610f66565b34801561051757600080fd5b5061034661052636600461270f565b6001600160a01b031660009081526020819052604090205490565b34801561054d57600080fd5b506102f3610faa565b34801561056257600080fd5b506102f36105713660046125d8565b610fe0565b34801561058257600080fd5b506005546001600160a01b03165b6040516001600160a01b039091168152602001610262565b3480156105b457600080fd5b5061025561101d565b3480156105c957600080fd5b506102c36105d8366004612597565b61102c565b3480156105e957600080fd5b506102c36105f8366004612597565b6110c5565b34801561060957600080fd5b506102f361061836600461272c565b6110d2565b34801561062957600080fd5b5061067161063836600461270f565b6001600160a01b0316600090815260196020908152604080832054601a835281842054601b90935292205460ff92831693918316921690565b6040805193151584529115156020840152151590820152606001610262565b34801561069c57600080fd5b506102f36111b5565b3480156106b157600080fd5b506102f36106c0366004612677565b61122c565b3480156106d157600080fd5b506102f36106e0366004612745565b6112ae565b3480156106f157600080fd5b50600e54600f54601054601154601254601354604080519687526020870195909552938501929092526060840152608083015260a082015260c001610262565b34801561073d57600080fd5b5061034661074c366004612778565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561078357600080fd5b506102f3610792366004612677565b61144c565b3480156107a357600080fd5b506105907f000000000000000000000000000000000000000000000000000000000000000081565b3480156107d757600080fd5b506102f36107e636600461270f565b611527565b3480156107f757600080fd5b506102f361080636600461272c565b6115c2565b34801561081757600080fd5b506102f3611692565b60606003805461082f906127b1565b80601f016020809104026020016040519081016040528092919081815260200182805461085b906127b1565b80156108a85780601f1061087d576101008083540402835291602001916108a8565b820191906000526020600020905b81548152906001019060200180831161088b57829003601f168201915b5050505050905090565b60006108bf3384846116f3565b5060015b92915050565b6005546001600160a01b031633146108fc5760405162461bcd60e51b81526004016108f3906127eb565b60405180910390fd5b601c805460ff1916911515919091179055565b6005546001600160a01b031633146109395760405162461bcd60e51b81526004016108f3906127eb565b601c54610100900460ff166109605760405162461bcd60e51b81526004016108f390612820565b60005b828110156109d15781601d600086868581811061098257610982612863565b9050602002016020810190610997919061270f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109c98161288f565b915050610963565b50505050565b6005546001600160a01b03163314610a015760405162461bcd60e51b81526004016108f3906127eb565b601c54610100900460ff16610a285760405162461bcd60e51b81526004016108f390612820565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610a7d5760405162461bcd60e51b81526004016108f3906127eb565b600f8290556010819055610a9181836128a8565b600e81905560641015610af75760405162461bcd60e51b815260206004820152602860248201527f546f74616c20627579206665652063616e6e6f7420626520686967686572207460448201526768616e203130302560c01b60648201526084016108f3565b600e54600f54601054604080519384526020840192909252908201527f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e906060015b60405180910390a15050565b6000610b52848484611817565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bd75760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016108f3565b610be485338584036116f3565b506001949350505050565b6005546001600160a01b03163314610c195760405162461bcd60e51b81526004016108f3906127eb565b600d546040516001600160a01b03918216918316907fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e790600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610ca05760405162461bcd60e51b81526004016108f3906127eb565b60128290556013819055610cb481836128a8565b601181905560641015610d1b5760405162461bcd60e51b815260206004820152602960248201527f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572206044820152687468616e203130302560b81b60648201526084016108f3565b601154601254601354604080519384526020840192909252908201527fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f190606001610b39565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108bf918590610d989086906128a8565b6116f3565b6005546001600160a01b03163314610dc75760405162461bcd60e51b81526004016108f3906127eb565b6001600160a01b0382166000818152601a6020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291015b60405180910390a25050565b6005546001600160a01b03163314610e515760405162461bcd60e51b81526004016108f3906127eb565b600c546040516001600160a01b036101009092048216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a3600c80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b03163314610ee35760405162461bcd60e51b81526004016108f3906127eb565b60158290556016819055610ef781836128a8565b601481905560641015610f625760405162461bcd60e51b815260206004820152602d60248201527f546f74616c207472616e73666572206665652063616e6e6f742062652068696760448201526c686572207468616e203130302560981b60648201526084016108f3565b5050565b6005546001600160a01b03163314610f905760405162461bcd60e51b81526004016108f3906127eb565b601c80549115156101000261ff0019909216919091179055565b6005546001600160a01b03163314610fd45760405162461bcd60e51b81526004016108f3906127eb565b610fde6000611ff9565b565b6005546001600160a01b0316331461100a5760405162461bcd60e51b81526004016108f3906127eb565b601e805460ff1916911515919091179055565b60606004805461082f906127b1565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156110ae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108f3565b6110bb33858584036116f3565b5060019392505050565b60006108bf338484611817565b6005546001600160a01b031633146110fc5760405162461bcd60e51b81526004016108f3906127eb565b60058110156111595760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b60648201526084016108f3565b6103e861116560025490565b61116f90836128bb565b61117991906128d2565b60098190556040519081527f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace906020015b60405180910390a150565b6005546001600160a01b031633146111df5760405162461bcd60e51b81526004016108f3906127eb565b600c805460ff191660011790556005805460ff60a81b1916600160a81b17905560405142907fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92390600090a2565b6005546001600160a01b031633146112565760405162461bcd60e51b81526004016108f3906127eb565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610e1b565b6005546001600160a01b031633146112d85760405162461bcd60e51b81526004016108f3906127eb565b60018210156113465760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e604482015273101817181892903a37ba30b61039bab838363c9760611b60648201526084016108f3565b818110156113a95760405162461bcd60e51b815260206004820152602a60248201527f6d6178696d756d20616d6f756e742063616e7420626520686967686572207468604482015269616e206d696e696d756d60b01b60648201526084016108f3565b6005805460ff60a81b1916600160a81b851515021790556002546127109083906113d391906128bb565b6113dd91906128d2565b600655612710816113ed60025490565b6113f791906128bb565b61140191906128d2565b600755604080518415158152602081018490529081018290527f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7799060600160405180910390a1505050565b6005546001600160a01b031633146114765760405162461bcd60e51b81526004016108f3906127eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361151d5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016108f3565b610f62828261204b565b6005546001600160a01b031633146115515760405162461bcd60e51b81526004016108f3906127eb565b6001600160a01b0381166115b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f3565b6115bf81611ff9565b50565b6005546001600160a01b031633146115ec5760405162461bcd60e51b81526004016108f3906127eb565b600281101561163d5760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e322560448201526064016108f3565b6103e861164960025490565b61165390836128bb565b61165d91906128d2565b600a8190556040519081527fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a906020016111aa565b6005546001600160a01b031633146116bc5760405162461bcd60e51b81526004016108f3906127eb565b6008805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6001600160a01b0383166117555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f3565b6001600160a01b0382166117b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f3565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661183d5760405162461bcd60e51b81526004016108f3906128f4565b6001600160a01b0382166118635760405162461bcd60e51b81526004016108f390612939565b8060000361187c576118778383600061209f565b505050565b601c5460ff161561190b576001600160a01b0383166000908152601d602052604090205460ff161580156118c957506001600160a01b0382166000908152601d602052604090205460ff16155b61190b5760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b60448201526064016108f3565b60085460ff1615611c70576005546001600160a01b0384811691161480159061194257506005546001600160a01b03838116911614155b801561195657506001600160a01b03821615155b801561196d57506001600160a01b03821661dead14155b80156119835750600554600160a01b900460ff16155b15611c7057600c5460ff16611a28576001600160a01b03831660009081526019602052604090205460ff16806119d157506001600160a01b03821660009081526019602052604090205460ff165b611a285760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b60648201526084016108f3565b6001600160a01b0383166000908152601b602052604090205460ff168015611a6957506001600160a01b0382166000908152601a602052604090205460ff16155b15611b3e57600a54811115611acf5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b60648201526084016108f3565b6009546001600160a01b038316600090815260208190526040902054611af590836128a8565b1115611b395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016108f3565b611c70565b6001600160a01b0382166000908152601b602052604090205460ff168015611b7f57506001600160a01b0383166000908152601a602052604090205460ff16155b15611be657600a54811115611b395760405162461bcd60e51b815260206004820152602760248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152661036b0bc2a3c1760c91b60648201526084016108f3565b6001600160a01b0382166000908152601a602052604090205460ff16611c70576009546001600160a01b038316600090815260208190526040902054611c2c90836128a8565b1115611c705760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016108f3565b3060009081526020819052604090205460065481108015908190611c9d5750600554600160a81b900460ff165b8015611cb35750600554600160a01b900460ff16155b8015611cd857506001600160a01b0385166000908152601b602052604090205460ff16155b8015611cfd57506001600160a01b03851660009081526019602052604090205460ff16155b8015611d2257506001600160a01b03841660009081526019602052604090205460ff16155b15611d51576005805460ff60a01b1916600160a01b179055611d43836121f3565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526019602052604090205460ff600160a01b909204821615911680611d9f57506001600160a01b03851660009081526019602052604090205460ff165b15611da8575060005b60008115611fe5576001600160a01b0386166000908152601b602052604090205460ff168015611dda57506000601154115b15611e6857611dff6064611df96011548861234990919063ffffffff16565b9061235c565b905060115460135482611e1291906128bb565b611e1c91906128d2565b60186000828254611e2d91906128a8565b9091555050601154601254611e4290836128bb565b611e4c91906128d2565b60176000828254611e5d91906128a8565b90915550611fc79050565b6001600160a01b0387166000908152601b602052604090205460ff168015611e9257506000600e54115b15611ef457611eb16064611df9600e548861234990919063ffffffff16565b9050600e5460105482611ec491906128bb565b611ece91906128d2565b60186000828254611edf91906128a8565b9091555050600e54600f54611e4290836128bb565b6000601454118015611f1f57506001600160a01b0387166000908152601b602052604090205460ff16155b8015611f4457506001600160a01b0386166000908152601b602052604090205460ff16155b15611fc757611f636064611df96014548861234990919063ffffffff16565b905060145460165482611f7691906128bb565b611f8091906128d2565b60186000828254611f9191906128a8565b9091555050601454601554611fa690836128bb565b611fb091906128d2565b60176000828254611fc191906128a8565b90915550505b8015611fd857611fd887308361209f565b611fe2818661297c565b94505b611ff087878761209f565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b6001600160a01b0383166120c55760405162461bcd60e51b81526004016108f3906128f4565b6001600160a01b0382166120eb5760405162461bcd60e51b81526004016108f390612939565b6001600160a01b038316600090815260208190526040902054818110156121635760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108f3565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061219a9084906128a8565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121e691815260200190565b60405180910390a36109d1565b306000908152602081905260408120549081908181036122135750505050565b6007548311156122235760075492505b601e5460ff16801561223e575061223b8460056128bb565b83115b156122515761224e8460056128bb565b92505b824761225c82612368565b60006122684783612528565b9050600061228586611df96018548561234990919063ffffffff16565b600060178190556018819055600d546040519293506001600160a01b031691839181818185875af1925050503d80600081146122dd576040519150601f19603f3d011682016040523d82523d6000602084013e6122e2565b606091505b5050600c5460405191965061010090046001600160a01b0316904790600081818185875af1925050503d8060008114612337576040519150601f19603f3d011682016040523d82523d6000602084013e61233c565b606091505b5050505050505050505050565b600061235582846128bb565b9392505050565b600061235582846128d2565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061239d5761239d612863565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561241b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243f919061298f565b8160018151811061245257612452612863565b60200260200101906001600160a01b031690816001600160a01b03168152505061249d307f0000000000000000000000000000000000000000000000000000000000000000846116f3565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906124f29085906000908690309042906004016129ac565b600060405180830381600087803b15801561250c57600080fd5b505af1158015612520573d6000803e3d6000fd5b505050505050565b6000612355828461297c565b600060208083528351808285015260005b8181101561256157858101830151858201604001528201612545565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115bf57600080fd5b600080604083850312156125aa57600080fd5b82356125b581612582565b946020939093013593505050565b803580151581146125d357600080fd5b919050565b6000602082840312156125ea57600080fd5b612355826125c3565b60008060006040848603121561260857600080fd5b833567ffffffffffffffff8082111561262057600080fd5b818601915086601f83011261263457600080fd5b81358181111561264357600080fd5b8760208260051b850101111561265857600080fd5b60209283019550935061266e91860190506125c3565b90509250925092565b6000806040838503121561268a57600080fd5b823561269581612582565b91506126a3602084016125c3565b90509250929050565b600080604083850312156126bf57600080fd5b50508035926020909101359150565b6000806000606084860312156126e357600080fd5b83356126ee81612582565b925060208401356126fe81612582565b929592945050506040919091013590565b60006020828403121561272157600080fd5b813561235581612582565b60006020828403121561273e57600080fd5b5035919050565b60008060006060848603121561275a57600080fd5b612763846125c3565b95602085013595506040909401359392505050565b6000806040838503121561278b57600080fd5b823561279681612582565b915060208301356127a681612582565b809150509250929050565b600181811c908216806127c557607f821691505b6020821081036127e557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526023908201527f426c61636b6c6973742063616e6e6f74206265206368616e67656420616e796d6040820152626f726560e81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016128a1576128a1612879565b5060010190565b808201808211156108c3576108c3612879565b80820281158282048414176108c3576108c3612879565b6000826128ef57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108c3576108c3612879565b6000602082840312156129a157600080fd5b815161235581612582565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129fc5784516001600160a01b0316835293830193918301916001016129d7565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203aca573cb6bac1b3fa7a5335deee970aa69bc7dbc3e9946e2a83f26eb782236e64736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572