[ { "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": "address", "name": "adr", "type": "address" } ], "name": "Authorized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "cap", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "period", "type": "uint256" } ], "name": "AutoBuybackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountAVAX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountToken", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "AutoLiquifyUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountAVAX", "type": "uint256" } ], "name": "Buyback", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "gas", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "autoClaim", "type": "bool" } ], "name": "DistributorSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "holder", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "DividendExemptUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "holder", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "FeeExemptUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "autoLiquidityReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "marketingFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "devFeeReceiver", "type": "address" } ], "name": "FeeReceiversUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buybackFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "reflectionFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "marketingFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "devFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "feeDenominator", "type": "uint256" } ], "name": "FeesUpdated", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Launch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "holder", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "MaxwalletExemptUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountToken", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountAVAX", "type": "uint256" } ], "name": "SwapBack", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SwapBackSettingsUpdated", "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": "holder", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "TxLimitExemptUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TxLimitUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "adr", "type": "address" } ], "name": "Unauthorized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "banned", "type": "bool" } ], "name": "WalletBanStatusUpdated", "type": "event" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "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": "spender", "type": "address" } ], "name": "approveMax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "authorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "autoLiquidityReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "buybackAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "buybackWEI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "devFeeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "distributor", "outputs": [ { "internalType": "contract DividendDistributor", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAccumulatedFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAutoBuybackSettings", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAutoLiquifySettings", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSwapBackSettings", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "selling", "type": "bool" } ], "name": "getTotalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "isAuthorized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchedAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFeeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_cap", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_period", "type": "uint256" } ], "name": "setAutoBuybackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setAutoLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_minDistribution", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" }, { "internalType": "bool", "name": "_autoClaim", "type": "bool" } ], "name": "setDistributorSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_marketingFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_devFeeReceiver", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_buybackFee", "type": "uint256" }, { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsDividendExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setmaxwalletExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "transfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "adr", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "unauthorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600280546001600160a01b031990811673c7198437980c041c805a1edcba50c1ce5db951181790915560038054821673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556004805490911661dead179055662386f26fc1000060055566038d7ea4c6800060065565e35fa931a000600755600f805461010060ff19918216600190811761ff00191691909117909255610190601055606460128190556101f460135561012c60145560155561057860165561271060175560208054821690556026805460ff60a01b191690556207a12060275569152d02c7e14af6800000602855602980549091169091179055650246139ca800602a553480156200010b57600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601d80549092167360ae616a2155ee3d9a68541ba4544862310933d41791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200019b57600080fd5b505afa158015620001b0573d6000803e3d6000fd5b505050506040513d6020811015620001c757600080fd5b5051600354604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200021f57600080fd5b505af115801562000234573d6000803e3d6000fd5b505050506040513d60208110156200024b57600080fd5b5051601e80546001600160a01b0319166001600160a01b03928316179055306000908152600960209081526040808320601d80548616855292529182902060001990555490519116906200029f906200042a565b6001600160a01b03909116815260405190819003602001906000f080158015620002cd573d6000803e3d6000fd5b50602680546001600160a01b039283166001600160a01b031991821617909155336000818152600a60209081526040808320805460ff199081166001908117909255600b84528285208054821683179055600d84528285208054821683179055308086528386208054831684179055601e80548a1687528487208054841685179055600480548b16885285882080548516861790557fa8d5d8c430e8786fb25e12a5d9672a13ae9622fbdfb19fbb3126ec9ac38e52fe805485168617905590548a168752600c8652848720805484168517905590865283862080548316841790555490971684528184208054909716179095556018805485168417905560198054851684179055601a805490941683179093556005548282526008845284822081905584519081529351919390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a362000438565b6110c5806200326d83390190565b612e2580620004486000396000f3fe6080604052600436106102815760003560e01c80638a4068dd1161014f578063dab84ee7116100c1578063f1f3bca31161007a578063f1f3bca314610a24578063f2fde38b14610a50578063f708a64f14610a83578063f84ba65d14610abe578063f887ea4014610af9578063fe9fbb8014610b0e57610288565b8063dab84ee71461090b578063db8d55f114610920578063dd62ed3e1461096f578063df20fd49146109aa578063e96fada2146109dc578063f0b37c04146109f157610288565b8063b6a5d7de11610113578063b6a5d7de14610824578063bf56b37114610857578063bfe109281461086c578063ca33e64c14610881578063cb213c1214610896578063d7c01032146108c657610288565b80638a4068dd1461077a57806395d89b411461078f578063998a6b5f146107a4578063a8aa1b31146107d6578063a9059cbb146107eb57610288565b806354200d6f116101f357806367822dfe116101ac57806367822dfe1461068d57806370a08231146106b75780637880aadc146106ea5780637d1db4a51461071f57806382247ec014610734578063893d20e81461074957610288565b806354200d6f1461055157806356f965d71461057d578063571ac8b0146105c75780635c85974f146105fa5780635df45a3714610624578063658d4b7f1461065257610288565b80631ba8eee7116102455780631ba8eee7146103f55780631d54613d1461044557806323b872dd146104805780632d48e896146104c35780632f54bf6e146104f3578063313ce5671461052657610288565b8063048c7baf1461028d57806306fdde03146102cd578063095ea7b314610357578063113f49a2146103a457806318160ddd146103ce57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102cb600480360360808110156102b057600080fd5b50803515159060208101359060408101359060600135610b41565b005b3480156102d957600080fd5b506102e2610bfe565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561031c578181015183820152602001610304565b50505050905090810190601f1680156103495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036357600080fd5b506103906004803603604081101561037a57600080fd5b506001600160a01b038135169060200135610c20565b604080519115158252519081900360200190f35b3480156103b057600080fd5b506102cb600480360360208110156103c757600080fd5b5035610c87565b3480156103da57600080fd5b506103e3610cdb565b60408051918252519081900360200190f35b34801561040157600080fd5b506102cb600480360360e081101561041857600080fd5b50803515159060208101359060408101359060608101359060808101359060a08101359060c00135610ce1565b34801561045157600080fd5b506102cb6004803603604081101561046857600080fd5b506001600160a01b0381351690602001351515610ded565b34801561048c57600080fd5b50610390600480360360608110156104a357600080fd5b506001600160a01b03813581169160208101359091169060400135610e99565b3480156104cf57600080fd5b506102cb600480360360408110156104e657600080fd5b5080359060200135610f5b565b3480156104ff57600080fd5b506103906004803603602081101561051657600080fd5b50356001600160a01b0316611013565b34801561053257600080fd5b5061053b61102a565b6040805160ff9092168252519081900360200190f35b34801561055d57600080fd5b506102cb6004803603602081101561057457600080fd5b5035151561102f565b34801561058957600080fd5b506105926110c6565b6040805196151587526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156105d357600080fd5b50610390600480360360208110156105ea57600080fd5b50356001600160a01b03166110e6565b34801561060657600080fd5b506102cb6004803603602081101561061d57600080fd5b50356110f4565b34801561063057600080fd5b50610639611192565b6040805192835260208301919091528051918290030190f35b34801561065e57600080fd5b506102cb6004803603604081101561067557600080fd5b506001600160a01b038135169060200135151561119c565b34801561069957600080fd5b506102cb600480360360208110156106b057600080fd5b5035611248565b3480156106c357600080fd5b506103e3600480360360208110156106da57600080fd5b50356001600160a01b03166112a3565b3480156106f657600080fd5b506106ff6112be565b604080519315158452602084019290925282820152519081900360600190f35b34801561072b57600080fd5b506103e36112d6565b34801561074057600080fd5b506103e36112dc565b34801561075557600080fd5b5061075e6112e2565b604080516001600160a01b039092168252519081900360200190f35b34801561078657600080fd5b506102cb6112f1565b34801561079b57600080fd5b506102e2611386565b3480156107b057600080fd5b506102cb600480360360408110156107c757600080fd5b508035906020013515156113a5565b3480156107e257600080fd5b5061075e61145e565b3480156107f757600080fd5b506103906004803603604081101561080e57600080fd5b506001600160a01b03813516906020013561146d565b34801561083057600080fd5b506102cb6004803603602081101561084757600080fd5b50356001600160a01b031661147a565b34801561086357600080fd5b506103e3611519565b34801561087857600080fd5b5061075e61151f565b34801561088d57600080fd5b5061075e61152e565b3480156108a257600080fd5b506108ab61153d565b60408051921515835260208301919091528051918290030190f35b3480156108d257600080fd5b506102cb600480360360608110156108e957600080fd5b506001600160a01b03813581169160208101358216916040909101351661154b565b34801561091757600080fd5b5061075e611615565b34801561092c57600080fd5b50610935611624565b6040805197151588526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b34801561097b57600080fd5b506103e36004803603604081101561099257600080fd5b506001600160a01b0381358116916020013516611648565b3480156109b657600080fd5b506102cb600480360360408110156109cd57600080fd5b50803515159060200135611673565b3480156109e857600080fd5b5061075e61170f565b3480156109fd57600080fd5b506102cb60048036036020811015610a1457600080fd5b50356001600160a01b031661171e565b348015610a3057600080fd5b506103e360048036036020811015610a4757600080fd5b503515156117b9565b348015610a5c57600080fd5b506102cb60048036036020811015610a7357600080fd5b50356001600160a01b03166117f8565b348015610a8f57600080fd5b506102cb60048036036040811015610aa657600080fd5b506001600160a01b03813516906020013515156118a9565b348015610aca57600080fd5b506102cb60048036036040811015610ae157600080fd5b506001600160a01b0381351690602001351515611a7d565b348015610b0557600080fd5b5061075e611b29565b348015610b1a57600080fd5b5061039060048036036020811015610b3157600080fd5b50356001600160a01b0316611b38565b610b4a33611b38565b610b89576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6020805485151560ff1990911681178255602185905560006022556023849055602483905543602555604080519182529181018590528082018490526060810183905290517f07e4a4dc3e8013db5de426f27688d245ba84f9f9195eed42e7a94acb0a565b6f9181900360800190a150505050565b6040805180820190915260088152671055905610d5531560c21b602082015290565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b610c9033611b38565b610ccf576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b610cd881611b56565b50565b60055490565b610cea33611b38565b610d29576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600f805460ff19168815151790556012859055601384905560148390556015829055610d6182610d5b85818989611ba3565b90611ba3565b6016819055601087905560178290558190610d7c9088611ba3565b10610d8657600080fd5b60408051881515815260208101889052808201879052606081018690526080810185905260a0810184905260c0810183905290517f76d099a416dfc2ebb98aadbbac897c0d02a441d0c4fb2e3a9fdf6414d6dcfea99181900360e00190a150505050505050565b610df633611b38565b610e35576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915582519384529083015280517f463f81492419927b6b1aef7271d6d7da08fb28638f175f3f7961b1571911f0409281900390910190a15050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610f46576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610f21918490611bfd565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610f51848484611c94565b90505b9392505050565b610f6433611b38565b610fa3576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b602654604080516316a4744b60e11b8152600481018590526024810184905290516001600160a01b0390921691632d48e8969160448082019260009290919082900301818387803b158015610ff757600080fd5b505af115801561100b573d6000803e3d6000fd5b505050505050565b6000546001600160a01b038281169116145b919050565b600990565b61103833611b38565b611077576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600f8054821515610100810261ff00199092169190911790915560408051918252517f075af1ef3c1829076b56416deceff9df2103194b5dfbf756f8557478b494f7ff9181900360200190a150565b60205460215460225460235460245460255460ff90951694909192939495565b6000610c8182600019610c20565b6110fd33611b38565b61113c576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620186a06005548161114a57fe5b0481101561115757600080fd5b60068190556040805182815290517fa53407ff336a78b145e1a297adce2a5d7a54e6c31d13b4e69e04aad80b07b44b9181900360200190a150565b601b54601c549091565b6111a533611b38565b6111e4576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b0382166000818152600a6020908152604091829020805460ff191685151590811790915582519384529083015280517f4d5771454588f51370a8a2e7e151354b6de0dc3159b14821b4ad76bc04c28bc79281900390910190a15050565b61125133611b38565b611290576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b610cd881670de0b6b3a764000002611b56565b6001600160a01b031660009081526008602052604090205490565b600f54601154602a5461010090920460ff1692909190565b60065481565b60075481565b6000546001600160a01b031690565b6112fa33611b38565b611339576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b33600081815260086020908152604080832080546005805460288054918201909255820190925590548251908152915190949392600080516020612dd0833981519152928290030190a350565b604080518082019091526005815264105595531560da1b602082015290565b6113ae33611b38565b6113ed576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620f42408211156113fd57600080fd5b60278290556026805460ff60a01b1916600160a01b8315159081029190911790915560408051848152602081019290925280517f5fdd419a37de0633d9df0f25b1b1f9a77e5794e82e87c24bc9ded94c0990b1769281900390910190a15050565b601e546001600160a01b031681565b6000610f54338484611c94565b61148333611013565b6114bd576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b038116600081815260016020818152604092839020805460ff1916909217909155815192835290517fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce8929249281900390910190a150565b601f5481565b6026546001600160a01b031681565b6018546001600160a01b031681565b602954602a5460ff90911691565b61155433611b38565b611593576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601880546001600160a01b038086166001600160a01b03199283168117909355601980548683169084168117909155601a805492861692909316821790925560408051938452602084019290925282820152517f12b4cfbea7a8dac3b859f7b88ff33db6082e4c6bb29a58b3d8edbd58ed7420289181900360600190a1505050565b601a546001600160a01b031681565b600f5460125460135460145460155460105460175460ff9096169590919293949596565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b61167c33611b38565b6116bb576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6029805460ff1916831515908117909155602a829055604080519182526020820183905280517f30e0f7c488b6c70123097f13cf387e140b0e0b8c9d9e3473e502f35b035d377c9281900390910190a15050565b6019546001600160a01b031681565b61172733611013565b611761576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b038116600081815260016020908152604091829020805460ff19169055815192835290517f8e4a23d6a5d81f013eca4bc92aeb9214ccafcaebd1f097c350c922d6e19122d59281900390910190a150565b600043601f54600101106117dc576017546117d59060016120b1565b9050611025565b816117e957601654610c81565b601054601654610c8191611ba3565b61180133611013565b61183b576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b6118b233611b38565b6118f1576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03821630148015906119185750601e546001600160a01b03838116911614155b61192157600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff191682158015919091179091556119be5760265460408051630a5b654b60e11b81526001600160a01b03858116600483015260006024830181905292519316926314b6ca969260448084019391929182900301818387803b1580156119a157600080fd5b505af11580156119b5573d6000803e3d6000fd5b50505050611a35565b6026546001600160a01b03838116600081815260086020526040808220548151630a5b654b60e11b8152600481019490945260248401525192909316926314b6ca969260448084019382900301818387803b158015611a1c57600080fd5b505af1158015611a30573d6000803e3d6000fd5b505050505b604080516001600160a01b0384168152821515602082015281517e8548b19959a911110b36c03f6148fa56fbcc2ce2553abf33112aa00bbdfd6a929181900390910190a15050565b611a8633611b38565b611ac5576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b0382166000818152600b6020908152604091829020805460ff191685151590811790915582519384529083015280517fe1fc1cdd7520f99d4b4715966557867ae295b281f90d30b3631bae054b7f196c9281900390910190a15050565b601d546001600160a01b031681565b6001600160a01b031660009081526001602052604090205460ff1690565b600454611b6d9082906001600160a01b03166120f3565b6040805182815290517fd33075670012f1689703c1e45a2b858dbe814a49e78c19fa053e181156e480699181900360200190a150565b600082820183811015610f54576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115611c8c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c51578181015183820152602001611c39565b50505050905090810190601f168015611c7e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0383166000908152600e602052604081205460ff1615611cf5576040805162461bcd60e51b815260206004820152601060248201526f14d95b99195c881a5cc818985b9b995960821b604482015290519081900360640190fd5b6001600160a01b0383166000908152600e602052604090205460ff1615611d59576040805162461bcd60e51b8152602060048201526013602482015272149958da5c1a595b9d081a5cc818985b9b9959606a1b604482015290519081900360640190fd5b602b5460ff1615611d7657611d6f84848461224a565b9050610f54565b611d7f84612319565b611d898483612379565b611d9383836123eb565b611d9b612475565b15611da857611da86124c6565b611db0612a95565b15611dbd57611dbd612ae7565b611dc5612b2e565b158015611ddf5750601e546001600160a01b038481169116145b15611e0e576001600160a01b038416600090815260086020526040902054611e0657600080fd5b611e0e612b36565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611e60918490611bfd565b6001600160a01b038516600090815260086020526040812091909155611e8585612b78565b611e8f5782611e9a565b611e9a858585612ba8565b6001600160a01b038516600090815260086020526040902054909150611ec09082611ba3565b6001600160a01b038086166000908152600860209081526040808320949094559188168152600c909152205460ff16611f64576026546001600160a01b03868116600081815260086020526040808220548151630a5b654b60e11b8152600481019490945260248401525192909316926314b6ca969260448084019382900301818387803b158015611f5157600080fd5b505af1925050508015611f62575060015b505b6001600160a01b0384166000908152600c602052604090205460ff16611ff5576026546001600160a01b03858116600081815260086020526040808220548151630a5b654b60e11b8152600481019490945260248401525192909316926314b6ca969260448084019382900301818387803b158015611fe257600080fd5b505af1925050508015611ff3575060015b505b602654600160a01b900460ff161561206d57602654602754604080516001624d3b8760e01b031981526004810192909252516001600160a01b039092169163ffb2c4799160248082019260009290919082900301818387803b15801561205a57600080fd5b505af192505050801561206b575060015b505b836001600160a01b0316856001600160a01b0316600080516020612dd0833981519152836040518082815260200191505060405180910390a3506001949350505050565b6000610f5483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bfd565b602b805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b03169183915060009061213b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061216957fe5b6001600160a01b03928316602091820292909201810191909152601d5460405163c57559dd60e01b815260006004820181815287861660448401524260648401819052608060248501908152885160848601528851959097169663c57559dd968b9694958a958c95939260a49092019187810191028083838b5b838110156121fb5781810151838201526020016121e3565b50505050905001955050505050506000604051808303818588803b15801561222257600080fd5b505af1158015612236573d6000803e3d6000fd5b5050602b805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461229b918490611bfd565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546122ca9083611ba3565b6001600160a01b038085166000818152600860209081526040918290209490945580518681529051919392881692600080516020612dd083398151915292918290030190a35060019392505050565b612321612b2e565b80612330575061233081611b38565b610cd8576040805162461bcd60e51b815260206004820152601560248201527428393296a630bab731b410283937ba32b1ba34b7b760591b604482015290519081900360640190fd5b600654811115806123a257506001600160a01b0382166000908152600b602052604090205460ff165b6123e7576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b5050565b6007546001600160a01b038316600090815260086020526040902054820111158061242e57506001600160a01b0382166000908152600d602052604090205460ff165b6123e7576040805162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015290519081900360640190fd5b601e546000906001600160a01b031633148015906124965750602b5460ff16155b80156124a4575060295460ff165b80156124c15750602a543060009081526008602052604090205410155b905090565b602b805460ff19166001179055602a54601154108015906124ee5750600f54610100900460ff165b1561274b57602a54601154612502916120b1565b601155602a54600090612516906002612cae565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061254a57fe5b6001600160a01b03928316602091820292909201015260035482519116908290600190811061257557fe5b6001600160a01b03928316602091820292909201810191909152601d54604051633b158ab160e11b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763762b1562978c9795968c9690939260c49091019187820191028083838b5b8381101561260f5781810151838201526020016125f7565b505050509050019650505050505050600060405180830381600087803b15801561263857600080fd5b505af115801561264c573d6000803e3d6000fd5b50505050600061266582476120b190919063ffffffff16565b601d5460185460408051637c8d9fb960e11b81523060048201526024810189905260006044820181905260648201526001600160a01b0392831660848201524260a4820152905193945091169163f91b3f7291849160c480830192606092919082900301818588803b1580156126da57600080fd5b505af11580156126ee573d6000803e3d6000fd5b50505050506040513d606081101561270557600080fd5b5050604080518281526020810186905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a150505050612a89565b602a54604080516002808252606082018352600092602083019080368337019050509050308160008151811061277d57fe5b6001600160a01b0392831660209182029290920101526003548251911690829060019081106127a857fe5b6001600160a01b03928316602091820292909201810191909152601d54604051633b158ab160e11b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763762b1562978c9795968c9690939260c49091019187820191028083838b5b8381101561284257818101518382015260200161282a565b505050509050019650505050505050600060405180830381600087803b15801561286b57600080fd5b505af115801561287f573d6000803e3d6000fd5b50505050600061289882476120b190919063ffffffff16565b905060006128bd6016546128b760135485612cf090919063ffffffff16565b90612cae565b905060006128dc6016546128b760145486612cf090919063ffffffff16565b905060006128fb6016546128b760155487612cf090919063ffffffff16565b9050602660009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561294d57600080fd5b505af19350505050801561295f575060015b506019546040516000916001600160a01b03169061753090859084818181858888f193505050503d80600081146129b2576040519150601f19603f3d011682016040523d82523d6000602084013e6129b7565b606091505b5050905080156129d257601b546129ce9084611ba3565b601b555b601a546040516001600160a01b03909116906175309084906000818181858888f193505050503d8060008114612a24576040519150601f19603f3d011682016040523d82523d6000602084013e612a29565b606091505b50909150508015612a4557601c54612a419083611ba3565b601c555b604080518981526020810187905281517f05ab84b321981d7d9a13402e494604c50821bcb5f2400d128fa06cd6451113d4929181900390910190a150505050505050505b602b805460ff19169055565b601e546000906001600160a01b03163314801590612ab65750602b5460ff16155b8015612ac4575060205460ff165b8015612ad65750436024546025540111155b80156124c157505060235447101590565b602354600454612b0091906001600160a01b03166120f3565b43602555602354602254612b1391611ba3565b60228190556021541015612b2c576020805460ff191690555b565b601f54151590565b43601f556026805460ff60a01b1916600160a01b1790556040517f02ac8168caf2f254b394bd39e19417c5c28124ab89c9bc2d44921b19808e266990600090a1565b600f5460009060ff168015610c815750506001600160a01b03166000908152600a602052604090205460ff161590565b601754601e546000918291612bda91906128b790612bd3906001600160a01b038981169116146117b9565b8690612cf0565b30600090815260086020526040902054909150612bf79082611ba3565b30600081815260086020908152604091829020939093558051848152905191926001600160a01b03891692600080516020612dd08339815191529281900390910190a3601e546001600160a01b038581169116148015612c5e5750600f54610100900460ff165b15612c9b57612c97612c8e612c80601054601654611ba390919063ffffffff16565b6010546128b7908590612cf0565b60115490611ba3565b6011555b612ca583826120b1565b95945050505050565b6000610f5483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d49565b600082612cff57506000610c81565b82820282848281612d0c57fe5b0414610f545760405162461bcd60e51b8152600401808060200182810382526021815260200180612daf6021913960400191505060405180910390fd5b60008183612d985760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611c51578181015183820152602001611c39565b506000838581612da457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220631afdc30a524742b5fdcda094bb483f03b65c67c5e64fbf77c2d2e492c7178c64736f6c634300070600336080604052600180546001600160a01b031990811673c7198437980c041c805a1edcba50c1ce5db95118179091556002805490911673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556ec097ce7bc90715b34b9f1000000000600c55610384600d55670de0b6b3a7640000600e5534801561007d57600080fd5b506040516110c53803806110c5833981810160405260208110156100a057600080fd5b50516001600160a01b0381166100ca577360ae616a2155ee3d9a68541ba4544862310933d46100cc565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610fbf806101066000396000f3fe6080604052600436106100f35760003560e01c8063ce7c2ac21161008a578063efca2eed11610059578063efca2eed146102f6578063f0fc6bca1461030b578063ffb2c47914610320578063ffd49c841461034a576100f3565b8063ce7c2ac214610255578063d0e30db0146102a6578063e2d2e219146102ae578063edf35253146102c3576100f3565b80633a98ef39116100c65780633a98ef39146101bd5780634fab0ae8146101d25780635e6056bb146101e7578063997664d714610240576100f3565b806311ce023d146100f857806314b6ca961461011f57806328fd31981461015a5780632d48e8961461018d575b600080fd5b34801561010457600080fd5b5061010d61035f565b60408051918252519081900360200190f35b34801561012b57600080fd5b506101586004803603604081101561014257600080fd5b506001600160a01b038135169060200135610365565b005b34801561016657600080fd5b5061010d6004803603602081101561017d57600080fd5b50356001600160a01b03166104a8565b34801561019957600080fd5b50610158600480360360408110156101b057600080fd5b5080359060200135610534565b3480156101c957600080fd5b5061010d610594565b3480156101de57600080fd5b5061010d61059a565b3480156101f357600080fd5b5061021a6004803603602081101561020a57600080fd5b50356001600160a01b03166105a0565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561024c57600080fd5b5061010d6105cd565b34801561026157600080fd5b506102886004803603602081101561027857600080fd5b50356001600160a01b03166105d3565b60408051938452602084019290925282820152519081900360600190f35b6101586105f4565b3480156102ba57600080fd5b5061010d6108aa565b3480156102cf57600080fd5b50610158600480360360208110156102e657600080fd5b50356001600160a01b03166108b0565b34801561030257600080fd5b5061010d6108bc565b34801561031757600080fd5b506101586108c2565b34801561032c57600080fd5b506101586004803603602081101561034357600080fd5b50356108cd565b34801561035657600080fd5b5061010d6109fb565b600c5481565b6000546001600160a01b0316331461037c57600080fd5b61038582610a01565b6000811180156103ab57506001600160a01b038216600090815260076020526040902054155b156103be576103b982610b85565b6103f1565b801580156103e357506001600160a01b03821660009081526007602052604090205415155b156103f1576103f182610be6565b6001600160a01b03821660009081526007602052604090205460085461042291839161041c91610cd3565b90610d1e565b6008556001600160a01b038216600090815260076020526040902081905561044981610d78565b6001600160a01b03831660008181526007602090815260409182902060010193909355805191825291810183905281517f465bc1e774b3c331b04932a22f9781dbb864defe943d70548ba9b8af6c528b5c929181900390910190a15050565b6001600160a01b0381166000908152600760205260408120546104cd5750600061052f565b6001600160a01b0382166000908152600760205260408120546104ef90610d78565b6001600160a01b0384166000908152600760205260409020600101549091508082116105205760009250505061052f565b61052a8282610cd3565b925050505b919050565b6000546001600160a01b0316331461054b57600080fd5b600d829055600e819055604080518381526020810183905281517f4bee245ad45dacfa3feb4cc8a61ace735c47b485fb8a399ce9e3f6c87aade418929181900390910190a15050565b60085481565b600e5481565b600854600a546001600160a01b038316600090815260076020526040902080546002909101549193509193565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561063f57600080fd5b505afa158015610653573d6000803e3d6000fd5b505050506040513d602081101561066957600080fd5b50516040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b0316918391506000906106ab57fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106106d557fe5b6001600160a01b0392831660209182029290920181019190915260035460405163c57559dd60e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763c57559dd97349795968b969495939460a49091019187810191028083838b5b8381101561076757818101518382015260200161074f565b50505050905001955050505050506000604051808303818588803b15801561078e57600080fd5b505af11580156107a2573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061082d94508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156107fb57600080fd5b505afa15801561080f573d6000803e3d6000fd5b505050506040513d602081101561082557600080fd5b505190610cd3565b60095490915061083d9082610d1e565b600955600854600c546108679161085e916108589085610d95565b90610dee565b600b5490610d1e565b600b55604080513481526020810183905281517fa3af609bf46297028ce551832669030f9effef2b02606d02cbbcc40fe6b47c55929181900390910190a1505050565b600b5481565b6108b981610a01565b50565b600a5481565b6108cb33610a01565b565b6000546001600160a01b031633146108e457600080fd5b600454806108f257506108b9565b6000805a90506000805b858410801561090a57508482105b156109b05784600f541061091e576000600f555b61094a6004600f548154811061093057fe5b6000918252602090912001546001600160a01b0316610e30565b1561097f5761097b6004600f548154811061096157fe5b6000918252602090912001546001600160a01b0316610a01565b6001015b61099461098d5a8590610cd3565b8590610d1e565b93505a600f8054600190810190915590935091909101906108fc565b600f54604080518481526020810184905280820192909252517f96b82f6a439ac2d3939f479dd110e1915927d68eac70cf39a47cf294d53234ee9181900360600190a1505050505050565b600d5481565b6001600160a01b038116600090815260076020526040902054610a23576108b9565b6000610a2e826104a8565b90508015610b8157600a54610a439082610d1e565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015610a9c57600080fd5b505af1158015610ab0573d6000803e3d6000fd5b505050506040513d6020811015610ac657600080fd5b50506001600160a01b03821660009081526006602090815260408083204290556007909152902060020154610afb9082610d1e565b6001600160a01b0383166000908152600760205260409020600281019190915554610b2590610d78565b6001600160a01b03831660008181526007602090815260409182902060010193909355805191825291810183905281517f33ad5d6b2a46b5457e0d36286a2686a0390b0821dedbbdf8dcdcda64f4782c68929181900390910190a15b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319169091179055565b600480546000198101908110610bf857fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610c3057fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610c7e57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610cae57fe5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610d1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e6c565b90505b92915050565b600082820183811015610d15576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610d18600c54610858600b5485610d9590919063ffffffff16565b600082610da457506000610d18565b82820282848281610db157fe5b0414610d155760405162461bcd60e51b8152600401808060200182810382526021815260200180610f696021913960400191505060405180910390fd5b6000610d1583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f03565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610d185750600e54610e65836104a8565b1192915050565b60008184841115610efb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ec0578181015183820152602001610ea8565b50505050905090810190601f168015610eed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610f525760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ec0578181015183820152602001610ea8565b506000838581610f5e57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212204f2328bd2af67f5e0f39bc76189d85800d1be83f289e8a6123a6849d1b3f80a364736f6c63430007060033