[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "__decimals", "type": "uint8" }, { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "_maxTransactionAmount", "type": "uint256" }, { "internalType": "address[3]", "name": "_accounts", "type": "address[3]" }, { "internalType": "bool", "name": "_isMarketingFeeBaseToken", "type": "bool" }, { "internalType": "uint16[4]", "name": "_fees", "type": "uint16[4]" } ], "stateMutability": "payable", "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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "ExcludedFromFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludedFromMaxTransactionAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "marketingFeeTokens", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "marketingFeeBaseTokenSwapped", "type": "uint256" } ], "name": "MarketingFeeTaken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensForLiquidity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "baseTokenForLiquidity", "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": "uint16", "name": "newSellLiquidityFee", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "newBuyLiquidityFee", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "oldSellLiquidityFee", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "oldBuyLiquidityFee", "type": "uint16" } ], "name": "UpdateLiquidityFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "newSellMarketingFee", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "newBuyMarketingFee", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "oldSellMarketingFee", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "oldBuyMarketingFee", "type": "uint16" } ], "name": "UpdateMarketingFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newMarketingWallet", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "newIsMarketingFeeBaseToken", "type": "bool" }, { "indexed": true, "internalType": "address", "name": "oldMarketingWallet", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "oldIsMarketingFeeBaseToken", "type": "bool" } ], "name": "UpdateMarketingWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMaxTransactionAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMaxTransactionAmount", "type": "uint256" } ], "name": "UpdateMaxTransactionAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMaxWallet", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMaxWallet", "type": "uint256" } ], "name": "UpdateMaxWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newMinAmountToTakeFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMinAmountToTakeFee", "type": "uint256" } ], "name": "UpdateMinAmountToTakeFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldRouter", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "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": "baseTokenForPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "feeContract", "outputs": [ { "internalType": "contract IFee", "name": "", "type": "address" } ], "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": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isMarketingFeeBaseToken", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mainRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minAmountToTakeFee", "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "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": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Caller", "outputs": [ { "internalType": "contract IUniswapV2Caller", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_sellLiquidityFee", "type": "uint16" }, { "internalType": "uint16", "name": "_buyLiquidityFee", "type": "uint16" } ], "name": "updateLiquidityFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_sellMarketingFee", "type": "uint16" }, { "internalType": "uint16", "name": "_buyMarketingFee", "type": "uint16" } ], "name": "updateMarketingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "bool", "name": "_isMarketingFeeBaseToken", "type": "bool" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxTransactionAmount", "type": "uint256" } ], "name": "updateMaxTransactionAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" } ], "name": "updateMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minAmountToTakeFee", "type": "uint256" } ], "name": "updateMinAmountToTakeFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_baseTokenForPair", "type": "address" } ], "name": "updateUniswapV2Pair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateUniswapV2Router", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052604051620046e7380380620046e7833981016040819052620000269162000f0f565b888860036200003683826200107b565b5060046200004582826200107b565b505050620000626200005c620009a360201b60201c565b620009a7565b604051636944d6f160e11b81526001600482015273fd6439aeff9d2389856b7486b9e74a6dacadcdce9063d289ade29034906024016000604051808303818588803b158015620000b157600080fd5b505af1158015620000c6573d6000803e3d6000fd5b50506005805460ff60a01b1916600160a01b60ff8d160217905550620000f1915033905087620009f9565b6040830151600680546001600160a01b0319166001600160a01b03928316179055835116620001675760405162461bcd60e51b815260206004820152601d60248201527f6d61726b6574696e672077616c6c65742063616e206e6f74206265203000000060448201526064015b60405180910390fd5b60208301516001600160a01b0316620001c35760405162461bcd60e51b815260206004820152601b60248201527f526f7574657220616464726573732063616e206e6f742062652030000000000060448201526064016200015e565b6040810151815160c891620001d8916200115d565b61ffff1611156200021e5760405162461bcd60e51b815260206004820152600f60248201526e73656c6c20666565203c3d2032302560881b60448201526064016200015e565b6060810151602082015160c89162000236916200115d565b61ffff1611156200027b5760405162461bcd60e51b815260206004820152600e60248201526d62757920666565203c3d2032302560901b60448201526064016200015e565b825160078054841515600160a01b9081026001600160a81b03199092166001600160a01b039485161791909117918290556040805191830460ff16151582526000602083018190529392909216917fc8dfdd9b91ac62ee1bd8be3541ea02d8e584461c794c6e49e94ccf21c71ebcca910160405180910390a3602083810151600b80546001600160a01b0319166001600160a01b039092169182179055604080516315ab88c960e31b81529051919263ad5c4648926004808401938290030181865afa15801562000350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000376919062001182565b6006546001600160a01b039081169116146200040b57600654600b5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015620003e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004099190620011a7565b505b6200042e30731ccfe8c40ef259566433716002e379dfffbf5a3e60001962000ade565b600b546200044a9030906001600160a01b031660001962000ade565b600b546040516000916001600160a01b0316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e908390a3600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004fc919062001182565b6006546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af11580156200054e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000574919062001182565b600c80546001600160a01b0319166001600160a01b0392909216919091179055620005a261271087620011c5565b841015620006085760405162461bcd60e51b815260206004820152602c60248201527f6d61785472616e73616374696f6e416d6f756e74203e3d20746f74616c20737560448201526b070706c79202f2031303030360a41b60648201526084016200015e565b6200061661271087620011c5565b851015620006715760405162461bcd60e51b815260206004820152602160248201527f6d617857616c6c6574203e3d20746f74616c20737570706c79202f20313030306044820152600360fc1b60648201526084016200015e565b600985905560408051868152600060208201527fff64d41f60feb77d52f64ae64a9fc3929d57a89d0cc55728762468bae5e0fe52910160405180910390a1600a84905560408051858152600060208201527f35eec0711af6fbe3039535323be51b57996b6945b0d55862607c7a02e52e4507910160405180910390a180516006805460208085015163ffffffff60a81b1990921661ffff948516600160a81b90810261ffff60b81b191691909117600160b81b93861684021793849055604080519185048616825292909304909316928201929092526000818301819052606082015290517f95c5c99557725e816faf752c6675d63483841c28a7a009ed792470a9cb4dea239181900360800190a16040818101516006805460608086015163ffffffff60c81b1990921661ffff948516600160c81b90810261ffff60d81b191691909117600160d81b9386168402179384905585519084048516815291909204909216602083015260008284018190529082015290517f1d6b62961d401d548eb1549c97109c0b905ccd7af9c3777d3076cc8438fdfe659181900360800190a16200082061271087620011c5565b600881905560408051918252600060208301527f772a06bc936eb749842080c472181e970cd4f23bd1ab7d0b84a80aec26910434910160405180910390a1306000908152600e602081905260408083208054600160ff1991821681179092556007546001600160a01b031685529184208054909216811790915591620008a33390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790557ff77e91909e61d18f67b875b2bfcae1f683a8d555e55382e3a6b082e2c59ea57a805486166001908117909155600d948590527fdc7fafdc41998a74ecacb8f8bd877011aba1f1d03a3a0d37a2e7879a393b1d6a80548716821790553082528382208054871682179055600754909216815291822080549094168117909355620009583390565b6001600160a01b0390811682526020820192909252604001600020805460ff191692151592909217909155600c54620009949116600162000c06565b50505050505050505062001204565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821662000a515760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200015e565b806002600082825462000a659190620011e8565b90915550506001600160a01b0382166000908152602081905260408120805483929062000a94908490620011e8565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03831662000b425760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016200015e565b6001600160a01b03821662000ba55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200015e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000908152600f602052604090205481151560ff90911615150362000c9e5760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c7565000000000000000060648201526084016200015e565b6001600160a01b0382166000818152600f60209081526040808320805486151560ff199182168117909255600d84529382902080549094168117909355519182527fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab910160405180910390a25050565b505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000d545762000d5462000d13565b604052919050565b600082601f83011262000d6e57600080fd5b81516001600160401b0381111562000d8a5762000d8a62000d13565b602062000da0601f8301601f1916820162000d29565b828152858284870101111562000db557600080fd5b60005b8381101562000dd557858101830151828201840152820162000db8565b506000928101909101919091529392505050565b80516001600160a01b038116811462000e0157600080fd5b919050565b600082601f83011262000e1857600080fd5b604051606081016001600160401b038111828210171562000e3d5762000e3d62000d13565b60405280606084018581111562000e5357600080fd5b845b8181101562000e785762000e698162000de9565b83526020928301920162000e55565b509195945050505050565b8051801515811462000e0157600080fd5b600082601f83011262000ea657600080fd5b604051608081016001600160401b038111828210171562000ecb5762000ecb62000d13565b60405280608084018581111562000ee157600080fd5b845b8181101562000e7857805161ffff8116811462000f005760008081fd5b83526020928301920162000ee3565b60008060008060008060008060006101c08a8c03121562000f2f57600080fd5b89516001600160401b038082111562000f4757600080fd5b62000f558d838e0162000d5c565b9a5060208c015191508082111562000f6c57600080fd5b5062000f7b8c828d0162000d5c565b98505060408a015160ff8116811462000f9357600080fd5b8097505060608a0151955060808a0151945060a08a0151935062000fbb8b60c08c0162000e06565b925062000fcc6101208b0162000e83565b915062000fde8b6101408c0162000e94565b90509295985092959850929598565b600181811c908216806200100257607f821691505b6020821081036200102357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000d0e57600081815260208120601f850160051c81016020861015620010525750805b601f850160051c820191505b8181101562001073578281556001016200105e565b505050505050565b81516001600160401b0381111562001097576200109762000d13565b620010af81620010a8845462000fed565b8462001029565b602080601f831160018114620010e75760008415620010ce5750858301515b600019600386901b1c1916600185901b17855562001073565b600085815260208120601f198616915b828110156200111857888601518255948401946001909101908401620010f7565b5085821015620011375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b61ffff8181168382160190808211156200117b576200117b62001147565b5092915050565b6000602082840312156200119557600080fd5b620011a08262000de9565b9392505050565b600060208284031215620011ba57600080fd5b620011a08262000e83565b600082620011e357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620011fe57620011fe62001147565b92915050565b6134d380620012146000396000f3fe60806040526004361061026b5760003560e01c80638da5cb5b11610144578063cf188ad0116100b6578063e9481eee1161007a578063e9481eee146107ca578063f11a24d3146107fa578063f2fde38b1461081c578063f63743421461083c578063f8b45b051461085e578063fc59d23d1461087457600080fd5b8063cf188ad01461070f578063d68f8cde1461072f578063dd62ed3e1461074f578063df8408fe14610795578063e086e5ec146107b557600080fd5b8063a457c2d711610108578063a457c2d714610649578063a9059cbb14610669578063aa49802314610689578063b62496f5146106a9578063c8c8ebe4146106d9578063cf089e13146106ef57600080fd5b80638da5cb5b146105b457806391c1004a146105d257806392136913146105f257806395d89b41146106145780639a7a23d61461062957600080fd5b806357e62b98116101dd57806375f0a874116101a157806375f0a874146104d75780637bce5a04146104f75780637c75ad3a1461052c5780637cf84bd71461055457806385af30c514610574578063894760691461059457600080fd5b806357e62b981461042b57806365b8dbc01461044c57806370a082311461046c578063715018a6146104a257806373b9e82c146104b757600080fd5b806323b872dd1161022f57806323b872dd1461034f5780632ae2f1211461036f578063313ce5671461038f57806339509351146103bb5780634707c551146103db5780635342acb4146103fb57600080fd5b806306e297121461027757806306fdde03146102bc578063095ea7b3146102de57806318160ddd1461030e5780631c499ab01461032d57600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061029f73fd6439aeff9d2389856b7486b9e74a6dacadcdce81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102c857600080fd5b506102d161088a565b6040516102b39190612ff3565b3480156102ea57600080fd5b506102fe6102f936600461303b565b61091c565b60405190151581526020016102b3565b34801561031a57600080fd5b506002545b6040519081526020016102b3565b34801561033957600080fd5b5061034d610348366004613067565b610936565b005b34801561035b57600080fd5b506102fe61036a366004613080565b610a1a565b34801561037b57600080fd5b5061034d61038a3660046130cf565b610a40565b34801561039b57600080fd5b50600554600160a01b900460ff1660405160ff90911681526020016102b3565b3480156103c757600080fd5b506102fe6103d636600461303b565b610b24565b3480156103e757600080fd5b5061034d6103f63660046130cf565b610b63565b34801561040757600080fd5b506102fe610416366004613108565b600e6020526000908152604090205460ff1681565b34801561043757600080fd5b506007546102fe90600160a01b900460ff1681565b34801561045857600080fd5b5061034d610467366004613108565b610c9b565b34801561047857600080fd5b5061031f610487366004613108565b6001600160a01b031660009081526020819052604090205490565b3480156104ae57600080fd5b5061034d610fb1565b3480156104c357600080fd5b5061034d6104d2366004613067565b610fe7565b3480156104e357600080fd5b5060075461029f906001600160a01b031681565b34801561050357600080fd5b5060065461051990600160d81b900461ffff1681565b60405161ffff90911681526020016102b3565b34801561053857600080fd5b5061029f731ccfe8c40ef259566433716002e379dfffbf5a3e81565b34801561056057600080fd5b5060065461029f906001600160a01b031681565b34801561058057600080fd5b50600c5461029f906001600160a01b031681565b3480156105a057600080fd5b5061034d6105af366004613108565b61109c565b3480156105c057600080fd5b506005546001600160a01b031661029f565b3480156105de57600080fd5b5061034d6105ed366004613108565b61119d565b3480156105fe57600080fd5b5060065461051990600160c81b900461ffff1681565b34801561062057600080fd5b506102d16113ec565b34801561063557600080fd5b5061034d6106443660046130cf565b6113fb565b34801561065557600080fd5b506102fe61066436600461303b565b61142f565b34801561067557600080fd5b506102fe61068436600461303b565b6114cc565b34801561069557600080fd5b5061034d6106a4366004613067565b6114da565b3480156106b557600080fd5b506102fe6106c4366004613108565b600f6020526000908152604090205460ff1681565b3480156106e557600080fd5b5061031f600a5481565b3480156106fb57600080fd5b5061034d61070a36600461313c565b6115c0565b34801561071b57600080fd5b50600b5461029f906001600160a01b031681565b34801561073b57600080fd5b5061034d61074a36600461313c565b61173e565b34801561075b57600080fd5b5061031f61076a36600461316f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156107a157600080fd5b5061034d6107b03660046130cf565b6118bc565b3480156107c157600080fd5b5061034d611998565b3480156107d657600080fd5b506102fe6107e5366004613108565b600d6020526000908152604090205460ff1681565b34801561080657600080fd5b5060065461051990600160b81b900461ffff1681565b34801561082857600080fd5b5061034d610837366004613108565b611a6d565b34801561084857600080fd5b5060065461051990600160a81b900461ffff1681565b34801561086a57600080fd5b5061031f60095481565b34801561088057600080fd5b5061031f60085481565b6060600380546108999061319d565b80601f01602080910402602001604051908101604052809291908181526020018280546108c59061319d565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b5050505050905090565b60003361092a818585611b05565b60019150505b92915050565b6005546001600160a01b031633146109695760405162461bcd60e51b8152600401610960906131d7565b60405180910390fd5b61271061097560025490565b61097f9190613222565b8110156109d85760405162461bcd60e51b815260206004820152602160248201527f6d617857616c6c6574203e3d20746f74616c20737570706c79202f20313030306044820152600360fc1b6064820152608401610960565b6009546040805183815260208101929092527fff64d41f60feb77d52f64ae64a9fc3929d57a89d0cc55728762468bae5e0fe52910160405180910390a1600955565b600033610a28858285611c29565b610a33858585611cbb565b60019150505b9392505050565b6005546001600160a01b03163314610a6a5760405162461bcd60e51b8152600401610960906131d7565b6001600160a01b0382166000908152600d602052604090205481151560ff909116151503610ac45760405162461bcd60e51b8152602060048201526007602482015266616c726561647960c81b6044820152606401610960565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f82170bbd72c16b30c410014b7382121a699ed119a182e48a0b6cadcc89104ac991015b60405180910390a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061092a9082908690610b5e908790613244565b611b05565b6005546001600160a01b03163314610b8d5760405162461bcd60e51b8152600401610960906131d7565b6001600160a01b038216610be35760405162461bcd60e51b815260206004820152601b60248201527f6d61726b6574696e672077616c6c65742063616e2774206265203000000000006044820152606401610960565b600754604080518315158152600160a01b830460ff16151560208201526001600160a01b03928316928516917fc8dfdd9b91ac62ee1bd8be3541ea02d8e584461c794c6e49e94ccf21c71ebcca910160405180910390a360078054911515600160a01b026001600160a81b03199092166001600160a01b039093169283179190911790556000908152600e60209081526040808320805460ff199081166001908117909255600d909352922080549091169091179055565b6005546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610960906131d7565b600b546001600160a01b0390811690821603610d2f5760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b6064820152608401610960565b600b546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600b80546001600160a01b0319166001600160a01b038316908117909155610d96903090600019611b05565b600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190613257565b6006546001600160a01b03908116911614610e9e57600654600b5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190613274565b505b600b546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c9190613257565b6006546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f819190613257565b600c80546001600160a01b0319166001600160a01b038316908117909155909150610fad906001612050565b5050565b6005546001600160a01b03163314610fdb5760405162461bcd60e51b8152600401610960906131d7565b610fe5600061214f565b565b6005546001600160a01b031633146110115760405162461bcd60e51b8152600401610960906131d7565b6000811161105a5760405162461bcd60e51b815260206004820152601660248201527506d696e416d6f756e74546f54616b65466565203e20360541b6044820152606401610960565b6008546040805183815260208101929092527f772a06bc936eb749842080c472181e970cd4f23bd1ab7d0b84a80aec26910434910160405180910390a1600855565b6005546001600160a01b031633146110c65760405162461bcd60e51b8152600401610960906131d7565b6001600160a01b038116300361110c5760405162461bcd60e51b815260206004820152600b60248201526a139bdd08185b1b1bddd95960aa1b6044820152606401610960565b61119a6111216005546001600160a01b031690565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111899190613291565b6001600160a01b03841691906121a1565b50565b6005546001600160a01b031633146111c75760405162461bcd60e51b8152600401610960906131d7565b600680546001600160a01b0319166001600160a01b0383811691909117909155600b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124d9190613257565b6006546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af115801561129e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c29190613257565b600c80546001600160a01b0319166001600160a01b03928316179055600b54604080516315ab88c960e31b81529051919092169163ad5c46489160048083019260209291908290030181865afa158015611320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113449190613257565b6006546001600160a01b039081169116146113d557600654600b5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d39190613274565b505b600c5461119a906001600160a01b03166001612050565b6060600480546108999061319d565b6005546001600160a01b031633146114255760405162461bcd60e51b8152600401610960906131d7565b610fad8282612050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156114b45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610960565b6114c18286868403611b05565b506001949350505050565b60003361092a818585611cbb565b6005546001600160a01b031633146115045760405162461bcd60e51b8152600401610960906131d7565b61271061151060025490565b61151a9190613222565b81101561157e5760405162461bcd60e51b815260206004820152602c60248201527f6d61785472616e73616374696f6e416d6f756e74203e3d20746f74616c20737560448201526b070706c79202f2031303030360a41b6064820152608401610960565b600a546040805183815260208101929092527f35eec0711af6fbe3039535323be51b57996b6945b0d55862607c7a02e52e4507910160405180910390a1600a55565b6005546001600160a01b031633146115ea5760405162461bcd60e51b8152600401610960906131d7565b60065460c89061160590600160a81b900461ffff16846132aa565b61ffff1611156116495760405162461bcd60e51b815260206004820152600f60248201526e73656c6c20666565203c3d2032302560881b6044820152606401610960565b60065460c89061166490600160b81b900461ffff16836132aa565b61ffff1611156116a75760405162461bcd60e51b815260206004820152600e60248201526d62757920666565203c3d2032302560901b6044820152606401610960565b6006546040805161ffff85811682528481166020830152600160c81b8404811682840152600160d81b9093049092166060830152517f1d6b62961d401d548eb1549c97109c0b905ccd7af9c3777d3076cc8438fdfe659181900360800190a16006805463ffffffff60c81b1916600160c81b61ffff9485160261ffff60d81b191617600160d81b9290931691909102919091179055565b6005546001600160a01b031633146117685760405162461bcd60e51b8152600401610960906131d7565b60065460c89061178390600160c81b900461ffff16846132aa565b61ffff1611156117c75760405162461bcd60e51b815260206004820152600f60248201526e73656c6c20666565203c3d2032302560881b6044820152606401610960565b60065460c8906117e290600160d81b900461ffff16836132aa565b61ffff1611156118255760405162461bcd60e51b815260206004820152600e60248201526d62757920666565203c3d2032302560901b6044820152606401610960565b6006546040805161ffff85811682528481166020830152600160a81b8404811682840152600160b81b9093049092166060830152517f95c5c99557725e816faf752c6675d63483841c28a7a009ed792470a9cb4dea239181900360800190a16006805463ffffffff60a81b1916600160a81b61ffff9485160261ffff60b81b191617600160b81b9290931691909102919091179055565b6005546001600160a01b031633146118e65760405162461bcd60e51b8152600401610960906131d7565b6001600160a01b0382166000908152600e602052604090205481151560ff9091161515036119405760405162461bcd60e51b8152602060048201526007602482015266616c726561647960c81b6044820152606401610960565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f2d43abd87b27cee7b0aa8c6f7e0b4a3247b683262a83cbc2318b0df398a49aa99101610b18565b6005546001600160a01b031633146119c25760405162461bcd60e51b8152600401610960906131d7565b60006119d66005546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114611a20576040519150601f19603f3d011682016040523d82523d6000602084013e611a25565b606091505b505090508061119a5760405162461bcd60e51b815260206004820152601460248201527311985a5b1959081a5b881dda5d1a191c985dd85b60621b6044820152606401610960565b6005546001600160a01b03163314611a975760405162461bcd60e51b8152600401610960906131d7565b6001600160a01b038116611afc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610960565b61119a8161214f565b6001600160a01b038316611b675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610960565b6001600160a01b038216611bc85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610960565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611cb55781811015611ca85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610960565b611cb58484848403611b05565b50505050565b6001600160a01b038316611ce15760405162461bcd60e51b8152600401610960906132cc565b6001600160a01b038216611d075760405162461bcd60e51b815260040161096090613311565b306000908152602081905260409020546008546006549082101590600160a01b900460ff16158015611d515750600c546001600160a01b0316600090815260208190526040812054115b8015611d5a5750805b8015611d7e57506001600160a01b0384166000908152600f602052604090205460ff165b15611d8b57611d8b6121f8565b6006546000908190600160a01b900460ff16158015611dc357506001600160a01b0387166000908152600e602052604090205460ff16155b8015611de857506001600160a01b0386166000908152600e602052604090205460ff16155b15611f31576001600160a01b0387166000908152600f602052604090205460ff1615611e64576006546103e890611e2a90600160b81b900461ffff1687613354565b611e349190613222565b6006549092506103e890611e5390600160d81b900461ffff1687613354565b611e5d9190613222565b9050611ed7565b6001600160a01b0386166000908152600f602052604090205460ff1615611ed7576006546103e890611ea190600160a81b900461ffff1687613354565b611eab9190613222565b6006549092506103e890611eca90600160c81b900461ffff1687613354565b611ed49190613222565b90505b6000611ee38284613244565b90508015611ef657611ef6883083612891565b81611f01848861336b565b611f0b919061336b565b955082601054611f1b9190613244565b601055601154611f2c908390613244565b601155505b611f3c878787612891565b600654600160a01b900460ff16612047576001600160a01b0387166000908152600d602052604090205460ff16611fbe57600a548510611fbe5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2065786365656473207472616e73666572206c696d69740000006044820152606401610960565b6001600160a01b0386166000908152600d602052604090205460ff16612047576009546001600160a01b038716600090815260208190526040902054106120475760405162461bcd60e51b815260206004820152601f60248201527f45524332303a2065786365656473206d61782077616c6c6574206c696d6974006044820152606401610960565b50505050505050565b6001600160a01b0382166000908152600f602052604090205481151560ff9091161515036120e65760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c756500000000000000006064820152608401610960565b6001600160a01b0382166000818152600f60209081526040808320805486151560ff199182168117909255600d84529382902080549094168117909355519182527fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab9101610b18565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526121f39084906129e5565b505050565b6006805460ff60a01b1916600160a01b179055306000908152602081905260408120549050600060115460105461222f9190613244565b905080158061223d57508082105b15612249575050612882565b6000600260105461225a9190613222565b90506000600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d59190613257565b6006546001600160a01b0390811691161461235b576006546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612332573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123569190613291565b61235d565b475b600754909150600090600160a01b900460ff1615612658576000601154846123859190613244565b905080156123965761239681612ab7565b600b54604080516315ab88c960e31b815290516000926001600160a01b03169163ad5c46489160048083019260209291908290030181865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190613257565b6006546001600160a01b03908116911614612494576006546040516370a0823160e01b815230600482015285916001600160a01b0316906370a0823190602401602060405180830381865afa158015612461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124859190613291565b61248f919061336b565b61249e565b61249e844761336b565b9050600082601154836124b19190613354565b6124bb9190613222565b90506124c7818361336b565b9350801561265057600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125469190613257565b6006546001600160a01b039182169116036125f8576007546040516000916001600160a01b03169083908381818185875af1925050503d80600081146125a8576040519150601f19603f3d011682016040523d82523d6000602084013e6125ad565b606091505b5050905080156125f2576040805160008152602081018490527f6f92bce3e91466137aa4d5474fe565c002872fb18ed6af4a856959be0a81277a910160405180910390a15b50612650565b600754600654612615916001600160a01b039182169116836121a1565b6040805160008152602081018390527f6f92bce3e91466137aa4d5474fe565c002872fb18ed6af4a856959be0a81277a910160405180910390a15b5050506127dd565b82156126675761266783612ab7565b600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126de9190613257565b6006546001600160a01b0390811691161461276e576006546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa15801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613291565b612769919061336b565b612778565b612778824761336b565b601154909150156127dd576007546011546127a09130916001600160a01b0390911690611cbb565b60115460408051918252600060208301527f6f92bce3e91466137aa4d5474fe565c002872fb18ed6af4a856959be0a81277a910160405180910390a15b6000831180156127ed5750600081115b15612836576127fc8382612c86565b60408051848152602081018390527f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f8381486910160405180910390a15b600060118190556010556005546001600160a01b03161561287c5761287c306128676005546001600160a01b031690565b30600090815260208190526040902054611cbb565b50505050505b6006805460ff60a01b19169055565b6001600160a01b0383166128b75760405162461bcd60e51b8152600401610960906132cc565b6001600160a01b0382166128dd5760405162461bcd60e51b815260040161096090613311565b6001600160a01b038316600090815260208190526040902054818110156129555760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610960565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061298c908490613244565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129d891815260200190565b60405180910390a3611cb5565b6000612a3a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e4e9092919063ffffffff16565b8051909150156121f35780806020019051810190612a589190613274565b6121f35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610960565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612aec57612aec61337e565b6001600160a01b039283166020918202929092010152600654825191169082906001908110612b1d57612b1d61337e565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9a9190613257565b6001600160a01b031681600181518110612bb657612bb661337e565b60200260200101516001600160a01b031603612c3b57600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612c059085906000908690309042906004016133d8565b600060405180830381600087803b158015612c1f57600080fd5b505af1158015612c33573d6000803e3d6000fd5b505050505050565b600b54604051637274ca1b60e11b8152731ccfe8c40ef259566433716002e379dfffbf5a3e9163e4e9943691612c05916001600160a01b031690869060009087904290600401613414565b600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cfd9190613257565b6006546001600160a01b03918216911603612dac57600b5460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015612d80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612da59190613453565b5050505050565b600b5460065460405162e8e33760e81b81523060048201526001600160a01b039182166024820152604481018590526064810184905260006084820181905260a482015261dead60c48201524260e482015291169063e8e3370090610104016060604051808303816000875af1158015612e2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da59190613453565b6060612e5d8484600085612e65565b949350505050565b606082471015612ec65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610960565b6001600160a01b0385163b612f1d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610960565b600080866001600160a01b03168587604051612f399190613481565b60006040518083038185875af1925050503d8060008114612f76576040519150601f19603f3d011682016040523d82523d6000602084013e612f7b565b606091505b5091509150612f8b828286612f96565b979650505050505050565b60608315612fa5575081610a39565b825115612fb55782518084602001fd5b8160405162461bcd60e51b81526004016109609190612ff3565b60005b83811015612fea578181015183820152602001612fd2565b50506000910152565b6020815260008251806020840152613012816040850160208701612fcf565b601f01601f19169190910160400192915050565b6001600160a01b038116811461119a57600080fd5b6000806040838503121561304e57600080fd5b823561305981613026565b946020939093013593505050565b60006020828403121561307957600080fd5b5035919050565b60008060006060848603121561309557600080fd5b83356130a081613026565b925060208401356130b081613026565b929592945050506040919091013590565b801515811461119a57600080fd5b600080604083850312156130e257600080fd5b82356130ed81613026565b915060208301356130fd816130c1565b809150509250929050565b60006020828403121561311a57600080fd5b8135610a3981613026565b803561ffff8116811461313757600080fd5b919050565b6000806040838503121561314f57600080fd5b61315883613125565b915061316660208401613125565b90509250929050565b6000806040838503121561318257600080fd5b823561318d81613026565b915060208301356130fd81613026565b600181811c908216806131b157607f821691505b6020821081036131d157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261323f57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156109305761093061320c565b60006020828403121561326957600080fd5b8151610a3981613026565b60006020828403121561328657600080fd5b8151610a39816130c1565b6000602082840312156132a357600080fd5b5051919050565b61ffff8181168382160190808211156132c5576132c561320c565b5092915050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176109305761093061320c565b818103818111156109305761093061320c565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156133cd5781516001600160a01b0316875295820195908201906001016133a8565b509495945050505050565b85815284602082015260a0604082015260006133f760a0830186613394565b6001600160a01b0394909416606083015250608001529392505050565b60018060a01b038616815284602082015283604082015260a06060820152600061344160a0830185613394565b90508260808301529695505050505050565b60008060006060848603121561346857600080fd5b8351925060208401519150604084015190509250925092565b60008251613493818460208701612fcf565b919091019291505056fea2646970667358221220767d7fea032b713d477493637bd9757be8b329934ba20e42b40e9d3c52ecbdd664736f6c6343000812003300000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000002a0159141d968317c800000000000000000000000000000000000000000000002a0159141d968317c800000000000000000000000000000000000000000000002a0159141d968317c80000000000000000000000000000000e5c78ad562b256b8f7305355f18072425b6453c0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005536869646f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005534849444f000000000000000000000000000000000000000000000000000000