[ { "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": "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": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_walletMax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address[]", "name": "whitelists", "type": "address[]" } ], "internalType": "struct IProofNonReflectionTokenCutter.WhitelistAdd_", "name": "_WhitelistAdd", "type": "tuple" } ], "name": "addMoreToWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "addNFTSnapshot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_proofFee", "type": "uint256" } ], "name": "adjustProofFee", "outputs": [], "stateMutability": "nonpayable", "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": "cancelToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "initialMainFee", "type": "uint256" }, { "internalType": "uint256", "name": "initialMainFeeOnSell", "type": "uint256" }, { "internalType": "uint256", "name": "initialLpFee", "type": "uint256" }, { "internalType": "uint256", "name": "initialLpFeeOnSell", "type": "uint256" }, { "internalType": "uint256", "name": "initialDevFee", "type": "uint256" }, { "internalType": "uint256", "name": "initialDevFeeOnSell", "type": "uint256" } ], "name": "changeFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "changeIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "changeIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "changeRestrictWhales", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enableSwapBack", "type": "bool" }, { "internalType": "uint256", "name": "newSwapBackLimit", "type": "uint256" } ], "name": "changeSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "changeTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "changeWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devFeeOnSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "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": "", "type": "address" } ], "name": "isDividendExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isFeeExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isTxLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "isWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchedAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpFeeOnSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainFeeOnSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nftWhitelist", "outputs": [ { "internalType": "contract IERC721A", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proofAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proofBurnerAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proofFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reduceProofFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "restrictWhales", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "string", "name": "tokenName", "type": "string" }, { "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "internalType": "uint256", "name": "initialSupply", "type": "uint256" }, { "internalType": "uint256", "name": "percentToLP", "type": "uint256" }, { "internalType": "uint256", "name": "whitelistPeriod", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "dev", "type": "address" }, { "internalType": "address", "name": "main", "type": "address" }, { "internalType": "address", "name": "routerAddress", "type": "address" }, { "internalType": "address", "name": "initialProofAdmin", "type": "address" }, { "internalType": "address[]", "name": "whitelists", "type": "address[]" }, { "internalType": "address", "name": "nftWhitelist", "type": "address" } ], "internalType": "struct IProofNonReflectionTokenCutter.BaseData", "name": "_baseData", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mainFee", "type": "uint256" }, { "internalType": "uint256", "name": "mainFeeOnSell", "type": "uint256" }, { "internalType": "uint256", "name": "lpFee", "type": "uint256" }, { "internalType": "uint256", "name": "lpFeeOnSell", "type": "uint256" }, { "internalType": "uint256", "name": "devFee", "type": "uint256" }, { "internalType": "uint256", "name": "devFeeOnSell", "type": "uint256" } ], "internalType": "struct ProofNonReflectionTokenFees.allFees", "name": "fees", "type": "tuple" } ], "name": "setBasicData", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newDevWallet", "type": "address" } ], "name": "setDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setLaunchedAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newMainWallet", "type": "address" } ], "name": "setMainWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "newOwnerWallet", "type": "address" } ], "name": "setOwnerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTradingStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFeeIfSelling", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingStatus", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "updateProofAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newproofBurnerAddress", "type": "address" } ], "name": "updateProofBurnerAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_whitelistPeriod", "type": "uint256" } ], "name": "updateWhitelistPeriod", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userWhitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whitelistEndTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whitelistMode", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "whitelistPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526009805460ff19166001179055600b805460ff60a01b1916600160a01b1790556002601055601e805461010160a81b61ffff60a81b1990911617905534801561004c57600080fd5b50601b80546001600160a01b031916331790556139b78061006e6000396000f3fe6080604052600436106103dd5760003560e01c8063807c2d9c116101fd578063ca987b0e11610118578063e572967b116100ab578063f16fd78d1161007a578063f16fd78d14610b65578063f576f53914610b85578063f887ea4014610b9a578063fabe628314610bba578063fbd7575314610bda57600080fd5b8063e572967b14610afa578063e66b1d1e14610b1a578063ebdfd72214610b3a578063ef92e22214610b5057600080fd5b8063d4fb9a01116100e7578063d4fb9a0114610a43578063d741b9c314610a64578063d920334e14610a94578063dd62ed3e14610ab457600080fd5b8063ca987b0e146109d7578063cb29813c146109ed578063cd1e330a14610a0d578063d0a5eb4e14610a2357600080fd5b8063a457c2d711610190578063b72344a21161015f578063b72344a214610961578063bb542ef014610981578063bf56b371146109a1578063c45a0155146109b757600080fd5b8063a457c2d7146108eb578063a8aa1b311461090b578063a9059cbb1461092b578063b48e665e1461094b57600080fd5b806395d89b41116101cc57806395d89b4114610880578063985b9db014610895578063a3a2e89e146108ab578063a3e67610146108cb57600080fd5b8063807c2d9c146108045780638b42507f1461081a5780638ea5220f1461084a5780639502c4261461086a57600080fd5b80633c822812116102f857806359a51c341161028b57806370a082311161025a57806370a082311461076157806370c757ec146107975780637c0ff205146107b85780637d1db4a5146107ce5780637db1342c146107e457600080fd5b806359a51c34146106f557806365359892146107155780636827e76414610735578063704ce43e1461074b57600080fd5b806344de2e4c116102c757806344de2e4c14610685578063497a000a1461069f5780634a74bb02146106bf578063546a8811146106e057600080fd5b80633c822812146105e55780633dab5269146106055780633f4218e0146106255780634355855a1461065557600080fd5b806323b62b75116103705780632b112e491161033f5780632b112e4914610574578063313ce5671461058957806339509351146105a55780633af32abf146105c557600080fd5b806323b62b75146104ff57806323b872dd1461051f57806327193bc41461053f578063283744251461055457600080fd5b80630ab16c19116103ac5780630ab16c191461047a57806318160ddd146104b25780631df4ccfc146104c75780631f53ac02146104dd57600080fd5b80630445b667146103e957806306fdde0314610412578063095ea7b3146104345780630963da6c1461046457600080fd5b366103e457005b600080fd5b3480156103f557600080fd5b506103ff60215481565b6040519081526020015b60405180910390f35b34801561041e57600080fd5b50610427610bef565b6040516104099190612fc5565b34801561044057600080fd5b5061045461044f366004613038565b610c81565b6040519015158152602001610409565b34801561047057600080fd5b506103ff60115481565b34801561048657600080fd5b50600b5461049a906001600160a01b031681565b6040516001600160a01b039091168152602001610409565b3480156104be57600080fd5b506002546103ff565b3480156104d357600080fd5b506103ff60175481565b3480156104e957600080fd5b506104fd6104f8366004613064565b610c9b565b005b34801561050b57600080fd5b50601e5461049a906001600160a01b031681565b34801561052b57600080fd5b5061045461053a366004613081565b610cf0565b34801561054b57600080fd5b506104fd610d17565b34801561056057600080fd5b5060055461049a906001600160a01b031681565b34801561058057600080fd5b506103ff610db8565b34801561059557600080fd5b5060405160098152602001610409565b3480156105b157600080fd5b506104546105c0366004613038565b610e24565b3480156105d157600080fd5b506104546105e0366004613064565b610e63565b3480156105f157600080fd5b506104fd6106003660046130c2565b610e81565b34801561061157600080fd5b506104fd6106203660046130e9565b610f62565b34801561063157600080fd5b50610454610640366004613064565b600c6020526000908152604090205460ff1681565b34801561066157600080fd5b50610454610670366004613064565b600e6020526000908152604090205460ff1681565b34801561069157600080fd5b506009546104549060ff1681565b3480156106ab57600080fd5b506104fd6106ba3660046130c2565b610fae565b3480156106cb57600080fd5b50601e5461045490600160a81b900460ff1681565b3480156106ec57600080fd5b506104fd61100e565b34801561070157600080fd5b5060065461049a906001600160a01b031681565b34801561072157600080fd5b506104fd6107303660046132eb565b6110b4565b34801561074157600080fd5b506103ff60135481565b34801561075757600080fd5b506103ff60125481565b34801561076d57600080fd5b506103ff61077c366004613064565b6001600160a01b031660009081526020819052604090205490565b3480156107a357600080fd5b50600b5461045490600160a01b900460ff1681565b3480156107c457600080fd5b506103ff60155481565b3480156107da57600080fd5b506103ff601f5481565b3480156107f057600080fd5b506104fd6107ff3660046130c2565b611814565b34801561081057600080fd5b506103ff60205481565b34801561082657600080fd5b50610454610835366004613064565b600d6020526000908152604090205460ff1681565b34801561085657600080fd5b50601d5461049a906001600160a01b031681565b34801561087657600080fd5b506103ff60165481565b34801561088c57600080fd5b5061042761190e565b3480156108a157600080fd5b506103ff60145481565b3480156108b757600080fd5b506104fd6108c6366004613440565b61191d565b3480156108d757600080fd5b50601c5461049a906001600160a01b031681565b3480156108f757600080fd5b50610454610906366004613038565b611972565b34801561091757600080fd5b50601a5461049a906001600160a01b031681565b34801561093757600080fd5b50610454610946366004613038565b611a0f565b34801561095757600080fd5b506103ff60085481565b34801561096d57600080fd5b506104fd61097c366004613064565b611a1d565b34801561098d57600080fd5b506104fd61099c366004613064565b611a69565b3480156109ad57600080fd5b506103ff600f5481565b3480156109c357600080fd5b50601b5461049a906001600160a01b031681565b3480156109e357600080fd5b506103ff60185481565b3480156109f957600080fd5b506104fd610a08366004613479565b611ab5565b348015610a1957600080fd5b506103ff60105481565b348015610a2f57600080fd5b506104fd610a3e366004613064565b611c5e565b348015610a4f57600080fd5b50601e5461045490600160b01b900460ff1681565b348015610a7057600080fd5b50610454610a7f366004613064565b600a6020526000908152604090205460ff1681565b348015610aa057600080fd5b506104fd610aaf3660046130c2565b611caa565b348015610ac057600080fd5b506103ff610acf3660046134bc565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610b0657600080fd5b506104fd610b153660046134ea565b611da4565b348015610b2657600080fd5b506104fd610b3536600461356d565b611dd9565b348015610b4657600080fd5b506103ff60075481565b348015610b5c57600080fd5b506104fd611e38565b348015610b7157600080fd5b506104fd610b80366004613064565b611f77565b348015610b9157600080fd5b506104fd611fdb565b348015610ba657600080fd5b5060195461049a906001600160a01b031681565b348015610bc657600080fd5b506104fd610bd5366004613440565b612133565b348015610be657600080fd5b506104fd612188565b606060038054610bfe9061358a565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2a9061358a565b8015610c775780601f10610c4c57610100808354040283529160200191610c77565b820191906000526020600020905b815481529060010190602001808311610c5a57829003601f168201915b5050505050905090565b600033610c8f8185856121d3565b60019150505b92915050565b601c546001600160a01b03163314610cce5760405162461bcd60e51b8152600401610cc5906135c4565b60405180910390fd5b601d80546001600160a01b0319166001600160a01b0392909216919091179055565b600033610cfe8582856122f7565b610d09858585612389565b5060019150505b9392505050565b601b546001600160a01b03163314610d415760405162461bcd60e51b8152600401610cc5906135f9565b600f5415610d845760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481b185d5b98da195960821b6044820152606401610cc5565b42600f55600854610d9690603c613651565b610da09042613668565b600755600b805460ff60a01b1916600160a01b179055565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf8354600254610e15919061367b565b610e1f919061367b565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190610c8f9082908690610e5e908790613668565b6121d3565b6001600160a01b03166000908152600a602052604090205460ff1690565b6006546001600160a01b03163314610eab5760405162461bcd60e51b8152600401610cc59061368e565b600f54600003610ecd5760405162461bcd60e51b8152600401610cc5906136d3565b600f54610edd906203f480613668565b4210610f51576001811115610ef157600080fd5b60108190556011546012546013548391610f0a91613668565b610f149190613668565b610f1e9190613668565b601755601454601054601554601654610f379190613668565b610f419190613668565b610f4b9190613668565b60185550565b6002811115610ef157600080fd5b50565b601c546001600160a01b03163314610f8c5760405162461bcd60e51b8152600401610cc5906135c4565b601e8054921515600160a81b0260ff60a81b1990931692909217909155602155565b6006546001600160a01b03163314610fd85760405162461bcd60e51b8152600401610cc59061368e565b6008819055610fe881603c613651565b600f54610ff59190613668565b60075550600b805460ff60a01b1916600160a01b179055565b601b546001600160a01b031633146110385760405162461bcd60e51b8152600401610cc5906135f9565b601980546001600160a01b039081166000908152600c60209081526040808320805460ff199081166001908117909255955485168452600d9092528083208054861683179055601c549093168252919020805483169091179055601e80546009805490931690925561ffff60a81b19909116600160b01b179055565b601b546001600160a01b031633146110de5760405162461bcd60e51b8152600401610cc5906135f9565b81516003906110ed908261373c565b506020820151600490611100908261373c565b5060408201516002556060820151604611156111485760405162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b6044820152606401610cc5565b6103e88260400151600561115c9190613651565b61116691906137fc565b601f55604082015160649061117c906001613651565b61118691906137fc565b6020556040820151610fa09061119d906005613651565b6111a791906137fc565b602155610100820151601980546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015611209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122d919061381e565b6001600160a01b031663c9c65396601960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b2919061381e565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156112fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611322919061381e565b601a80546001600160a01b0319166001600160a01b039283161781553060008181526001602081815260408084206019548816855282528084206000199055938352600a9052828220805460ff199081168317909155601b54861683528383208054821683179055935485168252828220805485168217905560a0870151851682528282208054851682179055610120870151851682528282208054851682179055610100870151909416815220805490911690911790556101408201516113e9906127cf565b610160820151600b80546001600160a01b0319166001600160a01b03928316179055306000908152600c60209081526040808320805460ff199081166001908117909255601b805487168652838620805483168417905560a0808a0180518916885285882080548516861790555188168752600d86528487208054841685179055601a548816875284872080548416851790559054909616855282852080548216831790557fdc7fafdc41998a74ecacb8f8bd877011aba1f1d03a3a0d37a2e7879a393b1d6a80548216831790559380527f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee805490941617909255608080860151600855918401516012819055606085015160155591840151601381905592840151601655835160118190559084015160145560105492909161152b91613668565b6115359190613668565b61153f9190613668565b6017556010546014546015546016546115589190613668565b6115629190613668565b61156c9190613668565b601855601b5460a0830151604051633af32abf60e01b81526001600160a01b039182166004820152911690633af32abf90602401602060405180830381865afa1580156115bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e1919061383b565b1561166f57600c60175411156116285760405162461bcd60e51b815260206004820152600c60248201526b68696768204b59432066656560a01b6044820152606401610cc5565b6011601854111561166a5760405162461bcd60e51b815260206004820152600c60248201526b68696768204b59432066656560a01b6044820152606401610cc5565b6116b5565b600760175411156116925760405162461bcd60e51b8152600401610cc590613858565b600760185411156116b55760405162461bcd60e51b8152600401610cc590613858565b60a0820151601c80546001600160a01b039283166001600160a01b03199182161790915560c0840151601d805491841691831691909117905560e0840151601e805491841691831691909117905561012084015160068054919093169116179055606082015160408301516000916064916117309190613651565b61173a91906137fc565b9050600081846040015161174e919061367b565b33600090815260208190526040812080549293508492909190611772908490613668565b909155505060a08401516001600160a01b0316600090815260208190526040812080548392906117a3908490613668565b909155505060405182815233906000906000805160206139628339815191529060200160405180910390a38360a001516001600160a01b031660006001600160a01b03166000805160206139628339815191528360405161180691815260200190565b60405180910390a350505050565b601c546001600160a01b0316331461183e5760405162461bcd60e51b8152600401610cc5906135c4565b600f546000036118605760405162461bcd60e51b8152600401610cc5906136d3565b6103e860025460056118729190613651565b61187c91906137fc565b8110156118b65760405162461bcd60e51b81526020600482015260086024820152674d696e20302e352560c01b6044820152606401610cc5565b606460025460036118c79190613651565b6118d191906137fc565b8111156119095760405162461bcd60e51b81526020600482015260066024820152654d617820332560d01b6044820152606401610cc5565b602055565b606060048054610bfe9061358a565b601c546001600160a01b031633146119475760405162461bcd60e51b8152600401610cc5906135c4565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156119f75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610cc5565b611a0482868684036121d3565b506001949350505050565b600033611a04818585612389565b6006546001600160a01b03163314611a475760405162461bcd60e51b8152600401610cc59061368e565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b601c546001600160a01b03163314611a935760405162461bcd60e51b8152600401610cc5906135c4565b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b601c546001600160a01b03163314611adf5760405162461bcd60e51b8152600401610cc5906135c4565b6011869055601284905560138290556014859055601583905560168190556010548690611b0c8685613668565b611b169190613668565b611b209190613668565b601755601454601054601554601654611b399190613668565b611b439190613668565b611b4d9190613668565b601855601b54601c54604051633af32abf60e01b81526001600160a01b039182166004820152911690633af32abf90602401602060405180830381865afa158015611b9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc0919061383b565b15611c1057600c6017541115611be85760405162461bcd60e51b8152600401610cc590613858565b60116018541115611c0b5760405162461bcd60e51b8152600401610cc590613858565b611c56565b60076017541115611c335760405162461bcd60e51b8152600401610cc590613858565b60076018541115611c565760405162461bcd60e51b8152600401610cc590613858565b505050505050565b601c546001600160a01b03163314611c885760405162461bcd60e51b8152600401610cc5906135c4565b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b601c546001600160a01b03163314611cd45760405162461bcd60e51b8152600401610cc5906135c4565b600f54600003611cf65760405162461bcd60e51b8152600401610cc5906136d3565b6103e86002546005611d089190613651565b611d1291906137fc565b811015611d4c5760405162461bcd60e51b81526020600482015260086024820152674d696e20302e352560c01b6044820152606401610cc5565b60646002546003611d5d9190613651565b611d6791906137fc565b811115611d9f5760405162461bcd60e51b81526020600482015260066024820152654d617820332560d01b6044820152606401610cc5565b601f55565b601b546001600160a01b03163314611dce5760405162461bcd60e51b8152600401610cc5906135f9565b8051610f5f906127cf565b601c546001600160a01b03163314611e035760405162461bcd60e51b8152600401610cc5906135c4565b600f54600003611e255760405162461bcd60e51b8152600401610cc5906136d3565b6009805460ff1916911515919091179055565b601c546001600160a01b03163314611e625760405162461bcd60e51b8152600401610cc5906135c4565b601054600214611ea75760405162461bcd60e51b815260206004820152601060248201526f08585b1c9958591e481c99591d58d95960821b6044820152606401610cc5565b600f54600003611ec95760405162461bcd60e51b8152600401610cc5906136d3565b600f54611ed9906203f480613668565b421015611f135760405162461bcd60e51b81526020600482015260086024820152673a37b79039b7b7b760c11b6044820152606401610cc5565b6001601081905550601154601054601254601354611f319190613668565b611f3b9190613668565b611f459190613668565b601755601454601054601554601654611f5e9190613668565b611f689190613668565b611f729190613668565b601855565b6006546001600160a01b03163314611fa15760405162461bcd60e51b8152600401610cc59061368e565b600680546001600160a01b039092166001600160a01b0319909216821790556000908152600a60205260409020805460ff19166001179055565b601b546001600160a01b031633146120055760405162461bcd60e51b8152600401610cc5906135f9565b600b54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa15801561204f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612073919061387a565b61207e906001613668565b905060015b8181101561212f57600b546040516331a9108f60e11b815260048101839052600191600a916000916001600160a01b031690636352211e90602401602060405180830381865afa1580156120db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ff919061381e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101612083565b5050565b601c546001600160a01b0316331461215d5760405162461bcd60e51b8152600401610cc5906135c4565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b601b546001600160a01b031633146121b25760405162461bcd60e51b8152600401610cc5906135f9565b601e805460ff60b01b198116600160b01b9182900460ff1615909102179055565b6001600160a01b0383166122355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610cc5565b6001600160a01b0382166122965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610cc5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461238357818110156123765760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610cc5565b61238384848484036121d3565b50505050565b601e54600090600160b01b900460ff166123d65760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c810db1bdcd95960921b6044820152606401610cc5565b600b54600160a01b900460ff16156124db57600754421061240357600b805460ff60a01b191690556124db565b601a546001600160a01b03908116908516036124655761242283610e63565b6124605760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610cc5565b6124db565b601a546001600160a01b03908116908416036124845761242284610e63565b61248d84610e63565b801561249d575061249d83610e63565b6124db5760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b6044820152606401610cc5565b601e54600160a01b900460ff16156124ff576124f884848461283d565b9050610d10565b601a546001600160a01b03848116911614801561251e575060095460ff165b156125a457601f548211158061256f57506001600160a01b0384166000908152600d602052604090205460ff16801561256f57506001600160a01b0383166000908152600d602052604090205460ff165b6125a45760405162461bcd60e51b815260206004820152600660248201526509ac2f040a8b60d31b6044820152606401610cc5565b6001600160a01b0383166000908152600d602052604090205460ff161580156125cf575060095460ff165b1561263757602080546001600160a01b0385166000908152918290526040909120546125fc908490613668565b11156126375760405162461bcd60e51b815260206004820152600a60248201526913585e0815d85b1b195d60b21b6044820152606401610cc5565b601a546001600160a01b0385811691161480159061265f5750601e54600160a01b900460ff16155b80156126745750601e54600160a81b900460ff165b801561269157506021543060009081526020819052604090205410155b1561269e5761269e6128dd565b6001600160a01b0384166000908152602081905260409020546126c290839061367b565b6001600160a01b03808616600081815260208190526040902092909255601a548492911614806126ff5750601a546001600160a01b038581169116145b1561275e576001600160a01b0385166000908152600c602052604090205460ff1615801561274657506001600160a01b0384166000908152600c602052604090205460ff16155b612750578261275b565b61275b858585612f14565b90505b6001600160a01b038416600090815260208190526040902054612782908290613668565b6001600160a01b03858116600081815260208181526040918290209490945551848152909291881691600080516020613962833981519152910160405180910390a3506001949350505050565b805160005b81811015612838576001600a60008584815181106127f4576127f4613893565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580612830816138a9565b9150506127d4565b505050565b6001600160a01b03831660009081526020819052604081205461286190839061367b565b6001600160a01b038086166000908152602081905260408082209390935590851681522054612891908390613668565b6001600160a01b03848116600081815260208181526040918290209490945551858152909291871691600080516020613962833981519152910160405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b17905530600090815260208190526040812054601754909190819081908190600210612941576002601854601554876129269190613651565b61293091906137fc565b61293a91906137fc565b935061296b565b6002601754601254876129549190613651565b61295e91906137fc565b61296891906137fc565b93505b6000612977858761367b565b90508060000361298c57505050505050612f05565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106129c1576129c1613893565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612a1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3e919061381e565b81600181518110612a5157612a51613893565b6001600160a01b03928316602091820292909201015260195460405163791ac94760e01b815291169063791ac94790612a979085906000908690309042906004016138c2565b600060405180830381600087803b158015612ab157600080fd5b505af1158015612ac5573d6000803e3d6000fd5b505050506000479050600260175411612b0657600260185460155483612aeb9190613651565b612af591906137fc565b612aff91906137fc565b9350612b30565b600260175460125483612b199190613651565b612b2391906137fc565b612b2d91906137fc565b93505b8615612bcd5760195460405163f305d71960e01b815230600482015260248101899052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990869060c40160606040518083038185885af1158015612ba4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612bc99190613933565b5050505b6017544790600210612c1757601854601654612be99083613651565b612bf391906137fc565b965060185460105482612c069190613651565b612c1091906137fc565b9550612c51565b601754601354612c279083613651565b612c3191906137fc565b965060175460105482612c449190613651565b612c4e91906137fc565b95505b600086612c5e898461367b565b612c68919061367b565b90508215612efa578615612e2a576000612c836002896137fc565b90506000601b60009054906101000a90046001600160a01b03166001600160a01b0316633690e2876040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cfe919061381e565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114612d48576040519150601f19603f3d011682016040523d82523d6000602084013e612d4d565b606091505b5050905080612d5b57600080fd5b601b546040805163d7e7a9e760e01b815290516000926001600160a01b03169163d7e7a9e79160048083019260209291908290030181865afa158015612da5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc9919061381e565b6001600160a01b03168360405160006040518083038185875af1925050503d8060008114612e13576040519150601f19603f3d011682016040523d82523d6000602084013e612e18565b606091505b5050905080612e2657600080fd5b5050505b8715612e9257601d546040516000916001600160a01b0316908a908381818185875af1925050503d8060008114612e7d576040519150601f19603f3d011682016040523d82523d6000602084013e612e82565b606091505b5050905080612e9057600080fd5b505b8015612efa57601e546040516000916001600160a01b03169083908381818185875af1925050503d8060008114612ee5576040519150601f19603f3d011682016040523d82523d6000602084013e612eea565b606091505b5050905080612ef857600080fd5b505b505050505050505050505b601e805460ff60a01b19169055565b601a5460009081906001600160a01b03858116911614612f3657601754612f3a565b6018545b905060006064612f4a8386613651565b612f5491906137fc565b30600090815260208190526040902054909150612f72908290613668565b3060008181526020818152604091829020939093555183815290916001600160a01b03891691600080516020613962833981519152910160405180910390a3612fbb818561367b565b9695505050505050565b600060208083528351808285015260005b81811015612ff257858101830151858201604001528201612fd6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f5f57600080fd5b803561303381613013565b919050565b6000806040838503121561304b57600080fd5b823561305681613013565b946020939093013593505050565b60006020828403121561307657600080fd5b8135610d1081613013565b60008060006060848603121561309657600080fd5b83356130a181613013565b925060208401356130b181613013565b929592945050506040919091013590565b6000602082840312156130d457600080fd5b5035919050565b8015158114610f5f57600080fd5b600080604083850312156130fc57600080fd5b8235613056816130db565b634e487b7160e01b600052604160045260246000fd5b604051610180810167ffffffffffffffff8111828210171561314157613141613107565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561317057613170613107565b604052919050565b600082601f83011261318957600080fd5b813567ffffffffffffffff8111156131a3576131a3613107565b6131b6601f8201601f1916602001613147565b8181528460208386010111156131cb57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126131f957600080fd5b8135602067ffffffffffffffff82111561321557613215613107565b8160051b613224828201613147565b928352848101820192828101908785111561323e57600080fd5b83870192505b8483101561326657823561325781613013565b82529183019190830190613244565b979650505050505050565b600060c0828403121561328357600080fd5b60405160c0810181811067ffffffffffffffff821117156132a6576132a6613107565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b60008060e083850312156132fe57600080fd5b823567ffffffffffffffff8082111561331657600080fd5b90840190610180828703121561332b57600080fd5b61333361311d565b82358281111561334257600080fd5b61334e88828601613178565b82525060208301358281111561336357600080fd5b61336f88828601613178565b60208301525060408301356040820152606083013560608201526080830135608082015261339f60a08401613028565b60a08201526133b060c08401613028565b60c08201526133c160e08401613028565b60e08201526101006133d4818501613028565b908201526101206133e6848201613028565b9082015261014083810135838111156133fe57600080fd5b61340a898287016131e8565b8284015250506101609150613420828401613028565b828201528094505050506134378460208501613271565b90509250929050565b6000806040838503121561345357600080fd5b823561345e81613013565b9150602083013561346e816130db565b809150509250929050565b60008060008060008060c0878903121561349257600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156134cf57600080fd5b82356134da81613013565b9150602083013561346e81613013565b6000602082840312156134fc57600080fd5b813567ffffffffffffffff8082111561351457600080fd5b908301906020828603121561352857600080fd5b60405160208101818110838211171561354357613543613107565b60405282358281111561355557600080fd5b613561878286016131e8565b82525095945050505050565b60006020828403121561357f57600080fd5b8135610d10816130db565b600181811c9082168061359e57607f821691505b6020821081036135be57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4f776e61626c653a2063616c6c6572206973206e6f742074686520666163746f604082015261727960f01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c9557610c9561363b565b80820180821115610c9557610c9561363b565b81810381811115610c9557610c9561363b565b60208082526025908201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652070726f6f6660408201526420b236b4b760d91b606082015260800190565b602080825260099082015268085b185d5b98da195960ba1b604082015260600190565b601f82111561283857600081815260208120601f850160051c8101602086101561371d5750805b601f850160051c820191505b81811015611c5657828155600101613729565b815167ffffffffffffffff81111561375657613756613107565b61376a81613764845461358a565b846136f6565b602080601f83116001811461379f57600084156137875750858301515b600019600386901b1c1916600185901b178555611c56565b600085815260208120601f198616915b828110156137ce578886015182559484019460019091019084016137af565b50858210156137ec5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008261381957634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561383057600080fd5b8151610d1081613013565b60006020828403121561384d57600080fd5b8151610d10816130db565b602080825260089082015267686967682066656560c01b604082015260600190565b60006020828403121561388c57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b6000600182016138bb576138bb61363b565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156139125784516001600160a01b0316835293830193918301916001016138ed565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561394857600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220da64079f7e6ca30ac4b74a7631e057f44480277eb98ae882efbd12ba85c9c97464736f6c63430008110033