[ { "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": "bool", "name": "tradingActive", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "deadBlocks", "type": "uint256" } ], "name": "EnabledTrading", "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": false, "internalType": "address", "name": "_address", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "MaxTransactionExclusion", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "RemovedLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "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": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferForeignToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "UpdatedDevelopmentAddress", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "UpdatedMarketingAddress", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "UpdatedMaxBuyAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "UpdatedMaxSellAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "UpdatedMaxWalletAmount", "type": "event" }, { "inputs": [], "name": "DevelopmentAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MarketingAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TeamAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TreasuryAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyDevelopmentFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadBlocks", "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": "bool", "name": "_status", "type": "bool" }, { "internalType": "uint256", "name": "_deadBlocks", "type": "uint256" } ], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxBuyAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletAmount", "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": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevelopmentFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_DevelopmentAddress", "type": "address" } ], "name": "setDevelopmentAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_MarketingAddress", "type": "address" } ], "name": "setMarketingAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "setSwapThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForDevelopment", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "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": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActiveBlock", "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": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "transferForeignToken", "outputs": [ { "internalType": "bool", "name": "_sent", "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 IDexRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_DevelopmentFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_MarketingFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxBuyAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxSellAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_DevelopmentFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_MarketingFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526000600f55600160108190556011805462ffffff191690911790553480156200002c57600080fd5b506040518060400160405280600881526020016725b932b0b4ba37b960c11b815250604051806040016040528060038152602001624b414960e81b815250816003908051906020019062000082929190620007c3565b50805162000098906004906020840190620007c3565b5050506000620000ad6200046060201b60201c565b600580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020620049ed833981519152908290a35033737a250d5630b4cf539739df2c5dacb4c659f2488d6200010d81600162000464565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000158573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017e919062000869565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f2919062000869565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000869565b6001600160a01b031660a081905262000281906001620004c7565b6a52b7d2dcc80cd2e40000006103e86200029d82600a620008b1565b620002a99190620008d3565b6006556103e8620002bc826005620008b1565b620002c89190620008d3565b6007556103e8620002db82600a620008b1565b620002e79190620008d3565b6008556064620002f9826002620008b1565b620003059190620008d3565b600a55600360138190556000601481905560026015819055916200032a9190620008f6565b620003369190620008f6565b601255600360178190556000601881905560026019819055916200035b9190620008f6565b620003679190620008f6565b601655600b80546001600160a01b031990811673d9f1f701859c7203a3356ac12004f2f2679a0b5717909155600c80548216737b4da1341b7052841831bda7656e504d6932e9c5179055600d8054821673ea3d33f924418d3caf8ff2620e010d63cff223d0179055600e805490911673f707937654de9bb524d5c1a7485a258be0148af2179055620003fb83600162000464565b6200040830600162000464565b6200041761dead600162000464565b6200042483600162000533565b6200043130600162000533565b6200044061dead600162000533565b6200044c8382620005e1565b6200045783620006c6565b5050506200094e565b3390565b6001600160a01b0382166000818152601e6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6001600160a01b0382166000908152601f60205260409020805460ff1916821515179055620004f7828262000464565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03163314620005825760405162461bcd60e51b81526020600482018190526024820152600080516020620049cd83398151915260448201526064015b60405180910390fd5b6001600160a01b0382166000818152601d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620006395760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000579565b80600260008282546200064d9190620008f6565b90915550506001600160a01b038216600090815260208190526040812080548392906200067c908490620008f6565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620007115760405162461bcd60e51b81526020600482018190526024820152600080516020620049cd833981519152604482015260640162000579565b6001600160a01b038116620007785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000579565b6005546040516001600160a01b03808416921690600080516020620049ed83398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b828054620007d19062000911565b90600052602060002090601f016020900481019282620007f5576000855562000840565b82601f106200081057805160ff191683800117855562000840565b8280016001018555821562000840579182015b828111156200084057825182559160200191906001019062000823565b506200084e92915062000852565b5090565b5b808211156200084e576000815560010162000853565b6000602082840312156200087c57600080fd5b81516001600160a01b03811681146200089457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620008ce57620008ce6200089b565b500290565b600082620008f157634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156200090c576200090c6200089b565b500190565b600181811c908216806200092657607f821691505b602082108114156200094857634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051614028620009a5600039600081816105a8015281816113f80152611b120152600081816104230152818161389101528181613971015281816139d301528181613a4d0152613a7401526140286000f3fe60806040526004361061037a5760003560e01c80638366e79a116101d1578063c024666811610102578063e2f45605116100a0578063f2fde38b1161006f578063f2fde38b14610a82578063f5648a4f14610aa2578063f637434214610ab7578063fabb0b4f14610acd57600080fd5b8063e2f4560514610a2a578063ee40166e14610a40578063ef8700e514610a56578063f11a24d314610a6c57600080fd5b8063d1a0c946116100dc578063d1a0c94614610974578063d85ba063146109a1578063dc3f0d0f146109b7578063dd62ed3e146109d757600080fd5b8063c024666814610914578063c17b5b8c14610934578063c18bc1951461095457600080fd5b80639d0014b11161016f578063aa4bde2811610149578063aa4bde2814610899578063b2041411146108af578063b62496f5146108c5578063bbc0c742146108f557600080fd5b80639d0014b114610839578063a457c2d714610859578063a9059cbb1461087957600080fd5b8063906e9dd0116101ab578063906e9dd0146107ce57806392136913146107ee57806395d89b41146108045780639a7a23d61461081957600080fd5b80638366e79a1461076d57806388e765ff1461078d5780638da5cb5b146107a357600080fd5b806349bd5a5e116102ab57806370a08231116102495780637571336a116102235780637571336a146106ea5780637bce5a041461070a5780637ff3366f146107205780638095d5641461074d57600080fd5b806370a082311461067d578063715018a6146106c0578063751039fc146106d557600080fd5b80635e83ae76116102855780635e83ae761461061157806366d602ae146106315780636a486a8e146106475780636ddd17131461065d57600080fd5b806349bd5a5e146105965780634a62bb65146105ca5780635b5c251f146105e457600080fd5b80631f3fed8f116103185780632be32b61116102f25780632be32b611461050d578063313ce5671461052d5780633936e8b914610549578063395093511461057657600080fd5b80631f3fed8f146104b557806323b872dd146104cb57806329b1c15c146104eb57600080fd5b80631694505e116103545780631694505e1461041157806318160ddd1461046a57806318a94cf1146104895780631a8145bb1461049f57600080fd5b806306fdde0314610386578063095ea7b3146103b157806310d5de53146103e157600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039b610ae3565b6040516103a89190613b8c565b60405180910390f35b3480156103bd57600080fd5b506103d16103cc366004613c24565b610b75565b60405190151581526020016103a8565b3480156103ed57600080fd5b506103d16103fc366004613c50565b601e6020526000908152604090205460ff1681565b34801561041d57600080fd5b506104457f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103a8565b34801561047657600080fd5b506002545b6040519081526020016103a8565b34801561049557600080fd5b5061047b60175481565b3480156104ab57600080fd5b5061047b601b5481565b3480156104c157600080fd5b5061047b601c5481565b3480156104d757600080fd5b506103d16104e6366004613c74565b610b8b565b3480156104f757600080fd5b5061050b610506366004613c50565b610c76565b005b34801561051957600080fd5b5061050b610528366004613cb5565b610e08565b34801561053957600080fd5b50604051601281526020016103a8565b34801561055557600080fd5b50600c546104459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561058257600080fd5b506103d1610591366004613c24565b610f9a565b3480156105a257600080fd5b506104457f000000000000000000000000000000000000000000000000000000000000000081565b3480156105d657600080fd5b506011546103d19060ff1681565b3480156105f057600080fd5b50600d546104459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561061d57600080fd5b5061050b61062c366004613cdc565b610fe3565b34801561063d57600080fd5b5061047b60075481565b34801561065357600080fd5b5061047b60165481565b34801561066957600080fd5b506011546103d19062010000900460ff1681565b34801561068957600080fd5b5061047b610698366004613c50565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3480156106cc57600080fd5b5061050b6111ac565b3480156106e157600080fd5b5061050b61129c565b3480156106f657600080fd5b5061050b610705366004613cfa565b611370565b34801561071657600080fd5b5061047b60155481565b34801561072c57600080fd5b50600e546104459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561075957600080fd5b5061050b610768366004613d33565b611528565b34801561077957600080fd5b506103d1610788366004613d5f565b611641565b34801561079957600080fd5b5061047b60065481565b3480156107af57600080fd5b5060055473ffffffffffffffffffffffffffffffffffffffff16610445565b3480156107da57600080fd5b5061050b6107e9366004613c50565b6118ed565b3480156107fa57600080fd5b5061047b60195481565b34801561081057600080fd5b5061039b611a80565b34801561082557600080fd5b5061050b610834366004613cfa565b611a8f565b34801561084557600080fd5b5061050b610854366004613cb5565b611bf6565b34801561086557600080fd5b506103d1610874366004613c24565b611cb4565b34801561088557600080fd5b506103d1610894366004613c24565b611d8c565b3480156108a557600080fd5b5061047b60085481565b3480156108bb57600080fd5b5061047b60135481565b3480156108d157600080fd5b506103d16108e0366004613c50565b601f6020526000908152604090205460ff1681565b34801561090157600080fd5b506011546103d190610100900460ff1681565b34801561092057600080fd5b5061050b61092f366004613cfa565b611d99565b34801561094057600080fd5b5061050b61094f366004613d33565b611ea4565b34801561096057600080fd5b5061050b61096f366004613cb5565b611fb8565b34801561098057600080fd5b50600b546104459073ffffffffffffffffffffffffffffffffffffffff1681565b3480156109ad57600080fd5b5061047b60125481565b3480156109c357600080fd5b5061050b6109d2366004613cb5565b612143565b3480156109e357600080fd5b5061047b6109f2366004613d5f565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b348015610a3657600080fd5b5061047b600a5481565b348015610a4c57600080fd5b5061047b600f5481565b348015610a6257600080fd5b5061047b601a5481565b348015610a7857600080fd5b5061047b60145481565b348015610a8e57600080fd5b5061050b610a9d366004613c50565b6122ce565b348015610aae57600080fd5b5061050b612480565b348015610ac357600080fd5b5061047b60185481565b348015610ad957600080fd5b5061047b60105481565b606060038054610af290613d8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1e90613d8d565b8015610b6b5780601f10610b4057610100808354040283529160200191610b6b565b820191906000526020600020905b815481529060010190602001808311610b4e57829003601f168201915b5050505050905090565b6000610b82338484612574565b50600192915050565b6000610b98848484612727565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610c5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c6b8533858403612574565b506001949350505050565b60055473ffffffffffffffffffffffffffffffffffffffff163314610cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b73ffffffffffffffffffffffffffffffffffffffff8116610d9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5f446576656c6f706d656e744164647265737320616464726573732063616e6e60448201527f6f742062652030000000000000000000000000000000000000000000000000006064820152608401610c55565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517e9301a7a046a65d0304006b0bfee72798e7e8c804b21a3d33e0838d87680e9d90600090a250565b60055473ffffffffffffffffffffffffffffffffffffffff163314610e89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b670de0b6b3a76400006103e8610e9e60025490565b610ea9906001613e10565b610eb39190613e4d565b610ebd9190613e4d565b811015610f4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060448201527f7468616e20302e312500000000000000000000000000000000000000000000006064820152608401610c55565b610f5e81670de0b6b3a7640000613e10565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009906020015b60405180910390a150565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091610b82918590610fde908690613e88565b612574565b60055473ffffffffffffffffffffffffffffffffffffffff163314611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b601154610100900460ff16156110d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f43616e6e6f7420726520656e61626c652074726164696e6700000000000000006044820152606401610c55565b601180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff841515610100908102919091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff909216919091176201000017918290556040517fe185248899f361d51a48833938ab33493ebd7272d195abf7f51a833ea81388129261117a92900460ff169084909115158252602082015260400190565b60405180910390a1601154610100900460ff1680156111995750600f54155b156111a85743600f5560108190555b5050565b60055473ffffffffffffffffffffffffffffffffffffffff16331461122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b60055460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60055473ffffffffffffffffffffffffffffffffffffffff16331461131d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b601180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b60055473ffffffffffffffffffffffffffffffffffffffff1633146113f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b806114d2577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201527f6d61782074786e000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601e6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff1633146115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b601383905560148290556015819055806115c38385613e88565b6115cd9190613e88565b60128190556005101561163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f46656573206d75737420626520352520206f72206c65737300000000000000006044820152606401610c55565b505050565b600073ffffffffffffffffffffffffffffffffffffffff83166116c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610c55565b600b5473ffffffffffffffffffffffffffffffffffffffff163314611766576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6f6e6c7920446576656c6f706d656e74416464726573732063616e207769746860448201527f64726177000000000000000000000000000000000000000000000000000000006064820152608401610c55565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156117d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f79190613ea0565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118949190613eb9565b6040805173ffffffffffffffffffffffffffffffffffffffff87168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b60055473ffffffffffffffffffffffffffffffffffffffff16331461196e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b73ffffffffffffffffffffffffffffffffffffffff8116611a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5f4d61726b6574696e674164647265737320616464726573732063616e6e6f7460448201527f20626520300000000000000000000000000000000000000000000000000000006064820152608401610c55565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fd1e7d6a3390dd5008bd1c57798817b9f806e4c417264e7d3d67e42e784dc24a990600090a250565b606060048054610af290613d8d565b60055473ffffffffffffffffffffffffffffffffffffffff163314611b10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c55565b6111a88282613215565b600b5473ffffffffffffffffffffffffffffffffffffffff163314611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6f6e6c7920446576656c6f706d656e74416464726573732063616e207769746860448201527f64726177000000000000000000000000000000000000000000000000000000006064820152608401610c55565b611cae81670de0b6b3a7640000613e10565b600a5550565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015611d75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610c55565b611d823385858403612574565b5060019392505050565b6000610b82338484612727565b60055473ffffffffffffffffffffffffffffffffffffffff163314611e1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b73ffffffffffffffffffffffffffffffffffffffff82166000818152601d602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b60055473ffffffffffffffffffffffffffffffffffffffff163314611f25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b60178390556018829055601981905580611f3f8385613e88565b611f499190613e88565b60168190556005101561163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f46656573206d75737420626520352520206f72206c65737300000000000000006044820152606401610c55565b60055473ffffffffffffffffffffffffffffffffffffffff163314612039576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b670de0b6b3a76400006103e861204e60025490565b612059906003613e10565b6120639190613e4d565b61206d9190613e4d565b8110156120fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201527f6572207468616e20302e332500000000000000000000000000000000000000006064820152608401610c55565b61210e81670de0b6b3a7640000613e10565b60088190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc90602001610f8f565b60055473ffffffffffffffffffffffffffffffffffffffff1633146121c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b670de0b6b3a76400006103e86121d960025490565b6121e4906001613e10565b6121ee9190613e4d565b6121f89190613e4d565b811015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260448201527f207468616e20302e3125000000000000000000000000000000000000000000006064820152608401610c55565b61229981670de0b6b3a7640000613e10565b60078190556040519081527f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e90602001610f8f565b60055473ffffffffffffffffffffffffffffffffffffffff16331461234f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c55565b73ffffffffffffffffffffffffffffffffffffffff81166123f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610c55565b60055460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600b5460009073ffffffffffffffffffffffffffffffffffffffff163314612529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6f6e6c7920446576656c6f706d656e74416464726573732063616e207769746860448201527f64726177000000000000000000000000000000000000000000000000000000006064820152608401610c55565b60405133904790600081818185875af1925050503d8060008114612569576040519150601f19603f3d011682016040523d82523d6000602084013e61256e565b606091505b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316612616576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff82166126b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166127ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff821661286d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c55565b600081116128d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610c55565b60115460ff1615612e445760055473ffffffffffffffffffffffffffffffffffffffff848116911614801590612928575060055473ffffffffffffffffffffffffffffffffffffffff838116911614155b8015612949575073ffffffffffffffffffffffffffffffffffffffff821615155b801561296d575073ffffffffffffffffffffffffffffffffffffffff821661dead14155b15612e4457601154610100900460ff16612ac45773ffffffffffffffffffffffffffffffffffffffff83166000908152601e602052604090205460ff16806129da575073ffffffffffffffffffffffffffffffffffffffff82166000908152601e602052604090205460ff165b612a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610c55565b60055473ffffffffffffffffffffffffffffffffffffffff848116911614612ac4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f54726164696e67206973206e6f7420656e61626c6564000000000000000000006044820152606401610c55565b73ffffffffffffffffffffffffffffffffffffffff83166000908152601f602052604090205460ff168015612b1f575073ffffffffffffffffffffffffffffffffffffffff82166000908152601e602052604090205460ff16155b15612c5657600654811115612bb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178206275792e0000000000000000000000000000000000000000000000006064820152608401610c55565b60085473ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054612be99083613e88565b1115612c51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f43616e6e6f7420457863656564206d61782077616c6c657400000000000000006044820152606401610c55565b612e44565b73ffffffffffffffffffffffffffffffffffffffff82166000908152601f602052604090205460ff168015612cb1575073ffffffffffffffffffffffffffffffffffffffff83166000908152601e602052604090205460ff16155b15612d4857600754811115612c51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d61782073656c6c2e000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff82166000908152601e602052604090205460ff16158015612da4575073ffffffffffffffffffffffffffffffffffffffff83166000908152601e602052604090205460ff16155b15612e445760085473ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054612ddc9083613e88565b1115612e44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f43616e6e6f7420457863656564206d61782077616c6c657400000000000000006044820152606401610c55565b30600090815260208190526040902054600a5481108015908190612e70575060115462010000900460ff165b8015612e7f575060095460ff16155b8015612eb1575073ffffffffffffffffffffffffffffffffffffffff85166000908152601f602052604090205460ff16155b8015612ee3575073ffffffffffffffffffffffffffffffffffffffff85166000908152601d602052604090205460ff16155b8015612f15575073ffffffffffffffffffffffffffffffffffffffff84166000908152601d602052604090205460ff16155b15612f7657600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612f4d6132b7565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b73ffffffffffffffffffffffffffffffffffffffff85166000908152601d602052604090205460019060ff1680612fd2575073ffffffffffffffffffffffffffffffffffffffff85166000908152601d602052604090205460ff165b15612fdb575060005b600080828015612fed57506000600f54115b8015612ffa5750600f5443115b156132005773ffffffffffffffffffffffffffffffffffffffff87166000908152601f602052604090205460ff16801561303657506000601654115b156130ee5760646016548761304b9190613e10565b6130559190613e4d565b9150601654601854836130689190613e10565b6130729190613e4d565b601b60008282546130839190613e88565b90915550506016546017546130989084613e10565b6130a29190613e4d565b601a60008282546130b39190613e88565b90915550506016546019546130c89084613e10565b6130d29190613e4d565b601c60008282546130e39190613e88565b909155506131d89050565b73ffffffffffffffffffffffffffffffffffffffff88166000908152601f602052604090205460ff16801561312557506000601254115b156131d85760646012548761313a9190613e10565b6131449190613e4d565b9150601254601454836131579190613e10565b6131619190613e4d565b601b60008282546131729190613e88565b90915550506012546013546131879084613e10565b6131919190613e4d565b601a60008282546131a29190613e88565b90915550506012546015546131b79084613e10565b6131c19190613e4d565b601c60008282546131d29190613e88565b90915550505b81156131e9576131e98830846134de565b6131f38183613e88565b6131fd9087613ed6565b95505b61320b8888886134de565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152601f6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682151517905561326e8282613792565b6040518115159073ffffffffffffffffffffffffffffffffffffffff8416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3060009081526020819052604081205490506000601c54601a54601b546132de9190613e88565b6132e89190613e88565b90508115806132f5575080155b156132fe575050565b600a5461330c906005613e10565b82111561332457600a54613321906005613e10565b91505b600080600283601b54866133389190613e10565b6133429190613e4d565b61334c9190613e4d565b905061336061335b8286613ed6565b613820565b601b544790819060009061337690600290613e4d565b6133809087613ed6565b601a5461338d9085613e10565b6133979190613e4d565b905060006002601b546133aa9190613e4d565b6133b49088613ed6565b601c546133c19086613e10565b6133cb9190613e4d565b90506133d78183613e88565b6133e19084613ed6565b6000601b819055601a819055601c55925084158015906134015750600083115b15613410576134108584613a47565b600c5460405173ffffffffffffffffffffffffffffffffffffffff909116908290600081818185875af1925050503d806000811461346a576040519150601f19603f3d011682016040523d82523d6000602084013e61346f565b606091505b5050600b5460405191975073ffffffffffffffffffffffffffffffffffffffff16904790600081818185875af1925050503d80600081146134cc576040519150601f19603f3d011682016040523d82523d6000602084013e6134d1565b606091505b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316613581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff8216613624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156136da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610c55565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822085850390559185168152908120805484929061371e908490613e88565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161378491815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152601e602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061385557613855613eed565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391e9190613f1c565b8160018151811061393157613931613eed565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613996307f000000000000000000000000000000000000000000000000000000000000000084612574565b6040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790613a11908590600090869030904290600401613f39565b600060405180830381600087803b158015613a2b57600080fd5b505af1158015613a3f573d6000803e3d6000fd5b505050505050565b613a72307f000000000000000000000000000000000000000000000000000000000000000084612574565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613ad360055473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015613b60573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b859190613fc4565b5050505050565b600060208083528351808285015260005b81811015613bb957858101830151858201604001528201613b9d565b81811115613bcb576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114613c2157600080fd5b50565b60008060408385031215613c3757600080fd5b8235613c4281613bff565b946020939093013593505050565b600060208284031215613c6257600080fd5b8135613c6d81613bff565b9392505050565b600080600060608486031215613c8957600080fd5b8335613c9481613bff565b92506020840135613ca481613bff565b929592945050506040919091013590565b600060208284031215613cc757600080fd5b5035919050565b8015158114613c2157600080fd5b60008060408385031215613cef57600080fd5b8235613c4281613cce565b60008060408385031215613d0d57600080fd5b8235613d1881613bff565b91506020830135613d2881613cce565b809150509250929050565b600080600060608486031215613d4857600080fd5b505081359360208301359350604090920135919050565b60008060408385031215613d7257600080fd5b8235613d7d81613bff565b91506020830135613d2881613bff565b600181811c90821680613da157607f821691505b60208210811415613ddb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613e4857613e48613de1565b500290565b600082613e83577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008219821115613e9b57613e9b613de1565b500190565b600060208284031215613eb257600080fd5b5051919050565b600060208284031215613ecb57600080fd5b8151613c6d81613cce565b600082821015613ee857613ee8613de1565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215613f2e57600080fd5b8151613c6d81613bff565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613f9657845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101613f64565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600080600060608486031215613fd957600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122005128610e20201d92c0fcceec0070f6be3dea8026d313a00beae7fbdcb3e65e364736f6c634300080c00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0