9 txs
34 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
BURN_INTERVAL
viewfunction BURN_INTERVAL() view returns (uint256)
BURN_PERCENT_BASE
viewfunction BURN_PERCENT_BASE() view returns (uint256)
BURN_PERCENT
viewfunction BURN_PERCENT() view returns (uint256)
buyEnabled
viewfunction buyEnabled() view returns (bool)
DEAD_ADDRESS
viewfunction DEAD_ADDRESS() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
designatedWallets
viewfunction designatedWallets(uint256) view returns (address)
FEE_PERCENT
viewfunction FEE_PERCENT() view returns (uint256)
FEE_PERCENT2
viewfunction FEE_PERCENT2() view returns (uint256)
feeWallet
viewfunction feeWallet() view returns (address)
getLiquidityPool
viewfunction getLiquidityPool() view returns (address)
getPoolReserves
viewfunction getPoolReserves() view returns (uint112 reserve0, uint112 reserve1)
hasTransferredTo
viewfunction hasTransferredTo(address, address) view returns (bool)
isAddressExcludedFromFee
viewfunction isAddressExcludedFromFee(address account) view returns (bool)
isBlacklistedAddress
viewfunction isBlacklistedAddress(address account) view returns (bool)
isLargeNode
viewfunction isLargeNode(address) view returns (bool)
isSmallNode
viewfunction isSmallNode(address) view returns (bool)
largeNodes
viewfunction largeNodes(uint256) view returns (address)
lastBurnTimestamp
viewfunction lastBurnTimestamp() view returns (uint256)
lastWithdrawTimestamp
viewfunction lastWithdrawTimestamp(address) view returns (uint256)
liquidityPool
viewfunction liquidityPool() view returns (address)
MAX_WITHDRAW_AMOUNT
viewfunction MAX_WITHDRAW_AMOUNT() view returns (uint256)
MAX_WITHDRAW_COUNT_PER_WINDOW
viewfunction MAX_WITHDRAW_COUNT_PER_WINDOW() view returns (uint256)
mintSetBlack
viewfunction mintSetBlack() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
pendingBurnAmount
viewfunction pendingBurnAmount() view returns (uint256)
proxyContract
viewfunction proxyContract() view returns (address)
referrals
viewfunction referrals(address) view returns (address)
referredUsers
viewfunction referredUsers(address, uint256) view returns (address)
smallNodes
viewfunction smallNodes(uint256) view returns (address)
symbol
viewfunction symbol() view returns (string)
TOTAL_SUPPLY
viewfunction TOTAL_SUPPLY() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
userDeposits
viewfunction userDeposits(address) view returns (uint256)
WbnbAddress
viewfunction WbnbAddress() view returns (address)
WINDOW_DURATION
viewfunction WINDOW_DURATION() view returns (uint256)
windowStartTime
viewfunction windowStartTime() view returns (uint256)
WITHDRAW_INTERVAL
viewfunction WITHDRAW_INTERVAL() view returns (uint256)
withdrawCountInWindow
viewfunction withdrawCountInWindow() view returns (uint256)
_distributeFeesFromProxy
nonpayablefunction _distributeFeesFromProxy(uint256 feeAmount, address buyerOrSeller)
addDesignatedWallet
nonpayablefunction addDesignatedWallet(address _wallet)
addLargeNode
nonpayablefunction addLargeNode(address node)
addSmallNode
nonpayablefunction addSmallNode(address node)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
batchBindReferralManual
nonpayablefunction batchBindReferralManual(address[] users, address[] referrers)
bindReferralManual
nonpayablefunction bindReferralManual(address user, address referrer)
excludeFromFee
nonpayablefunction excludeFromFee(address account, bool excluded)
mintToken
nonpayablefunction mintToken(address _address, uint256 _amount)
removeDesignatedWallet
nonpayablefunction removeDesignatedWallet(address _wallet)
removeLargeNode
nonpayablefunction removeLargeNode(address node)
renounceOwnership
nonpayablefunction renounceOwnership()
setBlacklist
nonpayablefunction setBlacklist(address account, bool blacklisted)
setBuyEnabled
nonpayablefunction setBuyEnabled(bool enabled)
setMintSetBlack
nonpayablefunction setMintSetBlack(address _mintSenderAddress)
setProxyContract
nonpayablefunction setProxyContract(address _proxy)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawUSDT
nonpayablefunction withdrawUSDT(address to, uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
FeeTransferAttempt
event FeeTransferAttempt(address indexed feeWallet, uint256 amount, bool success)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60a0604052600880546001600160a01b03191673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c179055600980547401dbda6895047378a09e8ce5e0ac26dd1984048b206001600160a81b031990911617905534801561005f57600080fd5b50604080518082018252600380825262464e4360e81b602080840182905284518086019095528285528401523392906100988382610478565b5060046100a58282610478565b5050506001600160a01b0381166100d757604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6100e081610223565b50600160065573ca143ce32fe78f1f7019d7d551a6402fc5350c736101076012600a610635565b610115906305f5e10061064b565b60805261013c60016101296012600a610635565b6101379063055d4a8061064b565b610275565b61016d730caf9141633c3b752d80524cbea0ea312269b6076101606012600a610635565b610137906298968061064b565b6008546040516364e329cb60e11b81526001600160a01b0391821660048201523060248201529082169063c9c65396906044016020604051808303816000875af11580156101bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e39190610662565b600780546001600160a01b0319166001600160a01b039290921691909117905550336000908152601560205260409020805460ff1916600117905561069e565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821661029f5760405163ec442f0560e01b8152600060048201526024016100ce565b6102ab600083836102af565b5050565b6001600160a01b0383166102da5780600260008282546102cf919061068b565b9091555061034c9050565b6001600160a01b0383166000908152602081905260409020548181101561032d5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100ce565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661036857600280548290039055610387565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103cc91815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061040357607f821691505b60208210810361042357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561047357806000526020600020601f840160051c810160208510156104505750805b601f840160051c820191505b81811015610470576000815560010161045c565b50505b505050565b81516001600160401b03811115610491576104916103d9565b6104a58161049f84546103ef565b84610429565b6020601f8211600181146104d957600083156104c15750848201515b600019600385901b1c1916600184901b178455610470565b600084815260208120601f198516915b8281101561050957878501518255602094850194600190920191016104e9565b50848210156105275786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156105875780850481111561056b5761056b610536565b600184161561057957908102905b60019390931c928002610550565b935093915050565b60008261059e5750600161062f565b816105ab5750600061062f565b81600181146105c157600281146105cb576105e7565b600191505061062f565b60ff8411156105dc576105dc610536565b50506001821b61062f565b5060208310610133831016604e8410600b841016171561060a575081810a61062f565b610617600019848461054c565b806000190482111561062b5761062b610536565b0290505b92915050565b600061064460ff84168361058f565b9392505050565b808202811582820484141761062f5761062f610536565b60006020828403121561067457600080fd5b81516001600160a01b038116811461064457600080fd5b8082018082111561062f5761062f610536565b608051613de56106b960003960006108840152613de56000f3fe6080604052600436106103b05760003560e01c80637b1648e2116101e7578063d09da6df1161010d578063eaf98d23116100a0578063f25f4b561161006f578063f25f4b5614610b81578063f2fde38b14610ba1578063f582d29314610bc1578063fa86698e14610be257600080fd5b8063eaf98d2314610af7578063eb02241414610b0c578063ed55044314610b41578063f1da5de414610b6157600080fd5b8063dd62ed3e116100dc578063dd62ed3e14610a51578063df8408fe14610a97578063e2cf681f14610ab7578063e92820e614610ad757600080fd5b8063d09da6df146109d1578063d2f434d8146109f1578063d622084114610a11578063d6f1546914610a3157600080fd5b80639ca423b311610185578063c49ef1c511610154578063c49ef1c514610965578063c55fdd1f14610985578063c88917841461099b578063c9cec8e2146109b157600080fd5b80639ca423b3146108ef578063a5a8004c14610694578063a9059cbb14610925578063b927b1e01461094557600080fd5b8063902d55a5116101c1578063902d55a51461087257806395d89b41146108a657806395ddbe89146108bb5780639c986764146108d957600080fd5b80637b1648e21461082857806383475a961461083e5780638da5cb5b1461085457600080fd5b80633d3d937d116102d7578063715018a61161026a57806375ca1a011161023957806375ca1a01146107a557806379424839146107d257806379c17ef9146107e857806379c650681461080857600080fd5b8063715018a61461071f57806373a210851461073457806373d5f6841461076d57806374156bb21461078557600080fd5b80635f21b3ed116102a65780635f21b3ed14610694578063665a11ca146106a957806370a08231146106c95780637137ed47146106ff57600080fd5b80633d3d937d1461061c57806344ba0ea21461063257806344fc3b3f1461064f5780634e6fd6c41461067f57600080fd5b8063153b0d1e1161034f57806323b872dd1161031e57806323b872dd146105a95780632a3bba1a146105c957806330c6b5eb146105e9578063313ce5671461060057600080fd5b8063153b0d1e1461050c57806318160ddd1461052c57806319cf6d4b146105415780631ca371ef1461057957600080fd5b8063095ea7b31161038b578063095ea7b3146104585780630ba36dcd146104785780630bef0ec7146104b35780631481794e146104ec57600080fd5b80628d4e6a146103c657806303d1e38c1461041657806306fdde031461043657600080fd5b366103c1576103bf3334610c02565b005b600080fd5b3480156103d257600080fd5b506104016103e1366004613967565b600d60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b34801561042257600080fd5b506103bf61043136600461399a565b6110f9565b34801561044257600080fd5b5061044b61122c565b60405161040d91906139e0565b34801561046457600080fd5b50610401610473366004613a13565b6112be565b34801561048457600080fd5b506104a561049336600461399a565b600f6020526000908152604090205481565b60405190815260200161040d565b3480156104bf57600080fd5b506104016104ce36600461399a565b6001600160a01b031660009081526016602052604090205460ff1690565b3480156104f857600080fd5b506103bf610507366004613a13565b6112d8565b34801561051857600080fd5b506103bf610527366004613a4b565b611538565b34801561053857600080fd5b506002546104a5565b34801561054d57600080fd5b50600854610561906001600160a01b031681565b6040516001600160a01b03909116815260200161040d565b34801561058557600080fd5b5061040161059436600461399a565b60106020526000908152604090205460ff1681565b3480156105b557600080fd5b506104016105c4366004613a82565b61158d565b3480156105d557600080fd5b506103bf6105e4366004613b0b565b6115b1565b3480156105f557600080fd5b506104a56201518081565b34801561060c57600080fd5b506040516012815260200161040d565b34801561062857600080fd5b506104a5600a5481565b34801561063e57600080fd5b506104a56801158e460913d0000081565b34801561065b57600080fd5b5061040161066a36600461399a565b60116020526000908152604090205460ff1681565b34801561068b57600080fd5b50610561600181565b3480156106a057600080fd5b506104a5601481565b3480156106b557600080fd5b50600754610561906001600160a01b031681565b3480156106d557600080fd5b506104a56106e436600461399a565b6001600160a01b031660009081526020819052604090205490565b34801561070b57600080fd5b506103bf61071a36600461399a565b611823565b34801561072b57600080fd5b506103bf61184d565b34801561074057600080fd5b5061040161074f36600461399a565b6001600160a01b031660009081526015602052604090205460ff1690565b34801561077957600080fd5b506104a56305f5e10081565b34801561079157600080fd5b506105616107a0366004613b7c565b611861565b3480156107b157600080fd5b506104a56107c036600461399a565b60186020526000908152604090205481565b3480156107de57600080fd5b506104a5601b5481565b3480156107f457600080fd5b506103bf610803366004613b95565b61188b565b34801561081457600080fd5b506103bf610823366004613a13565b611c0e565b34801561083457600080fd5b506104a5610e1081565b34801561084a57600080fd5b506104a5601a5481565b34801561086057600080fd5b506005546001600160a01b0316610561565b34801561087e57600080fd5b506104a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156108b257600080fd5b5061044b611ef8565b3480156108c757600080fd5b506007546001600160a01b0316610561565b3480156108e557600080fd5b506104a56101a081565b3480156108fb57600080fd5b5061056161090a36600461399a565b600c602052600090815260409020546001600160a01b031681565b34801561093157600080fd5b50610401610940366004613a13565b611f07565b34801561095157600080fd5b506103bf61096036600461399a565b611f15565b34801561097157600080fd5b50610561610980366004613b7c565b6120b5565b34801561099157600080fd5b506104a561025881565b3480156109a757600080fd5b506104a560195481565b3480156109bd57600080fd5b50601754610561906001600160a01b031681565b3480156109dd57600080fd5b506105616109ec366004613b7c565b6120c5565b3480156109fd57600080fd5b506103bf610a0c36600461399a565b6120d5565b348015610a1d57600080fd5b506103bf610a2c36600461399a565b612212565b348015610a3d57600080fd5b506103bf610a4c366004613bb8565b61236a565b348015610a5d57600080fd5b506104a5610a6c366004613967565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610aa357600080fd5b506103bf610ab2366004613a4b565b6123b2565b348015610ac357600080fd5b506103bf610ad236600461399a565b6123e5565b348015610ae357600080fd5b50610561610af2366004613a13565b61240f565b348015610b0357600080fd5b506104a5600a81565b348015610b1857600080fd5b50610b21612447565b604080516001600160701b0393841681529290911660208301520161040d565b348015610b4d57600080fd5b50601454610561906001600160a01b031681565b348015610b6d57600080fd5b506103bf610b7c36600461399a565b6124cb565b348015610b8d57600080fd5b50600954610561906001600160a01b031681565b348015610bad57600080fd5b506103bf610bbc36600461399a565b6125ea565b348015610bcd57600080fd5b5060095461040190600160a01b900460ff1681565b348015610bee57600080fd5b506103bf610bfd366004613967565b612625565b610c0a6128a1565b60008111610c4d5760405162461bcd60e51b815260206004820152600b60248201526a139bc8109390881cd95b9d60aa1b60448201526064015b60405180910390fd5b6014546001600160a01b0316610c955760405162461bcd60e51b815260206004820152600d60248201526c141c9bde1e481b9bdd081cd95d609a1b6044820152606401610c44565b610c9f82826128fa565b60006064610cae601484613beb565b610cb89190613c02565b90506000610cc68284613c24565b6009546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114610d18576040519150601f19603f3d011682016040523d82523d6000602084013e610d1d565b606091505b50506009546040805186815283151560208201529293506001600160a01b03909116917f9ec344d7a41583c85898b0d9f86cfc151918a91353b44d2f19a10e5c9836c551910160405180910390a280610db85760405162461bcd60e51b815260206004820152601d60248201527f5472616e7366657220746f206665652077616c6c6574206661696c65640000006044820152606401610c44565b60008060005b600b54811015610e1457610df988600b8381548110610ddf57610ddf613c37565b6000918252602090912001546001600160a01b031661294b565b15610e0c5781610e0881613c4d565b9250505b600101610dbe565b508015610faa576000816064610e2b87600a613beb565b610e359190613c02565b610e3f9190613c02565b905060005b600b54811015610fa757610e6589600b8381548110610ddf57610ddf613c37565b15610f9f576000600b8281548110610e7f57610e7f613c37565b60009182526020822001546040516001600160a01b039091169185919081818185875af1925050503d8060008114610ed3576040519150601f19603f3d011682016040523d82523d6000602084013e610ed8565b606091505b50509050600b8281548110610eef57610eef613c37565b6000918252602091829020015460408051868152841515938101939093526001600160a01b03909116917f9ec344d7a41583c85898b0d9f86cfc151918a91353b44d2f19a10e5c9836c551910160405180910390a280610f915760405162461bcd60e51b815260206004820152601d60248201527f5472616e7366657220746f206665652077616c6c6574206661696c65640000006044820152606401610c44565b610f9b8386613c66565b9450505b600101610e44565b50505b610fb48285613c24565b935060008411610fff5760405162461bcd60e51b81526020600482015260166024820152754e6f20424e42206c656674206166746572206665657360501b6044820152606401610c44565b6014546040513360248201526000916001600160a01b031690869060440160408051601f198184030181529181526020820180516001600160e01b031663328af55d60e11b179052516110529190613c79565b60006040518083038185875af1925050503d806000811461108f576040519150601f19603f3d011682016040523d82523d6000602084013e611094565b606091505b50509050806110e55760405162461bcd60e51b815260206004820152601760248201527f466f727761726420746f2070726f7879206661696c65640000000000000000006044820152606401610c44565b5050505050506110f56001600655565b5050565b6017546001600160a01b031633146111235760405162461bcd60e51b8152600401610c4490613c95565b6001600160a01b03811661116b5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610c44565b6001600160a01b03811660009081526010602052604090205460ff16611229576001600160a01b0381166000818152601060209081526040808320805460ff191660019081179091556012805491820190557fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319168517905592825260119052205460ff1615611229576001600160a01b0381166000908152601160205260409020805460ff19169055611229816129b5565b50565b60606003805461123b90613cc2565b80601f016020809104026020016040519081016040528092919081815260200182805461126790613cc2565b80156112b45780601f10611289576101008083540402835291602001916112b4565b820191906000526020600020905b81548152906001019060200180831161129757829003601f168201915b5050505050905090565b6000336112cc818585612a8c565b60019150505b92915050565b6017546001600160a01b031633146113025760405162461bcd60e51b8152600401610c4490613c95565b61130a6128a1565b6001600160a01b0382166113545760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610c44565b600081116113a45760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610c44565b6040516370a0823160e01b81523060048201527355d398326f99059ff775485246999027b31979559060009082906370a0823190602401602060405180830381865afa1580156113f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141c9190613cfc565b90508281101561146e5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420555344542062616c616e6365000000000000006044820152606401610c44565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018590526000919084169063a9059cbb906044016020604051808303816000875af11580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e59190613d15565b90508061152b5760405162461bcd60e51b81526020600482015260146024820152731554d115081d1c985b9cd9995c8819985a5b195960621b6044820152606401610c44565b5050506110f56001600655565b6017546001600160a01b031633146115625760405162461bcd60e51b8152600401610c4490613c95565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b60003361159b858285612a99565b6115a6858585612b18565b506001949350505050565b6005546001600160a01b03163314806115d457506017546001600160a01b031633145b6116115760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610c44565b8281146116585760405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b6044820152606401610c44565b60005b8381101561181c57600085858381811061167757611677613c37565b905060200201602081019061168c919061399a565b905060008484848181106116a2576116a2613c37565b90506020020160208101906116b7919061399a565b90506001600160a01b038216158015906116d957506001600160a01b03811615155b80156116fd57506001600160a01b038281166000908152600c602052604090205416155b801561171b5750806001600160a01b0316826001600160a01b031614155b15611812576001600160a01b038281166000908152600c6020526040812080546001600160a01b03191692841692909217909155805b6001600160a01b0383166000908152600e60205260409020548110156117cb576001600160a01b038381166000908152600e60205260409020805491861691839081106117a0576117a0613c37565b6000918252602090912001546001600160a01b0316036117c357600191506117cb565b600101611751565b5080611810576001600160a01b038281166000908152600e602090815260408220805460018101825590835291200180546001600160a01b0319169185169190911790555b505b505060010161165b565b5050505050565b61182b612d64565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b611855612d64565b61185f6000612d91565b565b6013818154811061187157600080fd5b6000918252602090912001546001600160a01b0316905081565b6014546001600160a01b031633146118db5760405162461bcd60e51b815260206004820152601360248201527213db9b1e481c1c9bde1e4818d85b8818d85b1b606a1b6044820152606401610c44565b600082116119205760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b6044820152606401610c44565b3060009081526020819052604090205482111561197f5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820746f6b656e7320696e20636f6e74726163740000006044820152606401610c44565b60006103e861198f601e85613beb565b6119999190613c02565b905060006103e86119ab600a86613beb565b6119b59190613c02565b905060006103e86119c7601e87613beb565b6119d19190613c02565b905060006103e86119e3601988613beb565b6119ed9190613c02565b9050611a546012805480602002602001604051908101604052809291908181526020018280548015611a4857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611a2a575b50505050508530612de3565b611ab96013805480602002602001604051908101604052809291908181526020018280548015611aad57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611a8f575b50505050508430612de3565b6001600160a01b038086166000908152600c6020526040902054168015801590611afc57506001600160a01b03811660009081526016602052604090205460ff16155b15611b1157611b0c308285612edd565b611b29565b600954611b299030906001600160a01b031685612edd565b8160005b601481108015611b4557506001600160a01b03831615155b15611be0576000611b57601486613c02565b6001600160a01b03851660009081526016602052604090205490915060ff16611b8a57611b85308583612edd565b611ba2565b600954611ba29030906001600160a01b031683612edd565b611bac8184613c24565b6001600160a01b039485166000908152600c6020526040902054909416939250819050611bd881613c4d565b915050611b2d565b50306000908152602081905260409020548015611c0357611c0330600183612edd565b505050505050505050565b6017546001600160a01b03163314611c385760405162461bcd60e51b8152600401610c4490613c95565b60008111611c815760405162461bcd60e51b815260206004820152601660248201527506d7573742062652067726561746572207468616e20360541b6044820152606401610c44565b6801158e460913d00000811115611ce85760405162461bcd60e51b815260206004820152602560248201527f576974686472617720616d6f756e742065786365656473206d6178696d756d206044820152641b1a5b5a5d60da1b6064820152608401610c44565b6001600160a01b038216600090815260186020526040902054611d0f906201518090613c66565b421015611d5e5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79207769746864726177206f6e6365207065722064617900006044820152606401610c44565b610258601a54611d6e9190613c66565b4210611d7e5742601a556000601b555b6014601b5410611de55760405162461bcd60e51b815260206004820152602c60248201527f5769746864726177206c696d697420657863656564656420666f72207468697360448201526b2074696d652077696e646f7760a01b6064820152608401610c44565b6040516370a0823160e01b815261dead600482015260009030906370a0823190602401602060405180830381865afa158015611e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e499190613cfc565b905081811015611eb25760405162461bcd60e51b815260206004820152602e60248201527f54686520626c61636b20686f6c6520616464726573732062616c616e6365206960448201526d1cc81a5b9cdd59999a58da595b9d60921b6064820152608401610c44565b6001600160a01b0383166000908152601860205260408120429055601b805460019290611ee0908490613c66565b90915550611ef3905061dead8484612edd565b505050565b60606004805461123b90613cc2565b6000336112cc818585612b18565b6017546001600160a01b03163314611f3f5760405162461bcd60e51b8152600401610c4490613c95565b6001600160a01b03811660009081526010602052604090205460ff16611f9a5760405162461bcd60e51b815260206004820152601060248201526f4e6f742061206c61726765206e6f646560801b6044820152606401610c44565b6001600160a01b0381166000908152601060205260408120805460ff191690555b6012548110156110f557816001600160a01b031660128281548110611fe257611fe2613c37565b6000918252602090912001546001600160a01b0316036120ad576012805461200c90600190613c24565b8154811061201c5761201c613c37565b600091825260209091200154601280546001600160a01b03909216918390811061204857612048613c37565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601280548061208757612087613d32565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b600101611fbb565b600b818154811061187157600080fd5b6012818154811061187157600080fd5b6017546001600160a01b031633146120ff5760405162461bcd60e51b8152600401610c4490613c95565b60005b600b548110156121d657816001600160a01b0316600b828154811061212957612129613c37565b6000918252602090912001546001600160a01b0316036121ce57600b805461215390600190613c24565b8154811061216357612163613c37565b600091825260209091200154600b80546001600160a01b03909216918390811061218f5761218f613c37565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600b80548061208757612087613d32565b600101612102565b5060405162461bcd60e51b815260206004820152601060248201526f15d85b1b195d081b9bdd08199bdd5b9960821b6044820152606401610c44565b6017546001600160a01b0316331461223c5760405162461bcd60e51b8152600401610c4490613c95565b6001600160a01b03811661228b5760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b6044820152606401610c44565b60005b600b5481101561231757816001600160a01b0316600b82815481106122b5576122b5613c37565b6000918252602090912001546001600160a01b03160361230f5760405162461bcd60e51b815260206004820152601560248201527457616c6c657420616c72656164792065786973747360581b6044820152606401610c44565b60010161228e565b50600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b0392909216919091179055565b6017546001600160a01b031633146123945760405162461bcd60e51b8152600401610c4490613c95565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6123ba612d64565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6123ed612d64565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b600e602052816000526040600020818154811061242b57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600080600760009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561249d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c19190613d5f565b5090939092509050565b6017546001600160a01b031633146124f55760405162461bcd60e51b8152600401610c4490613c95565b6001600160a01b03811661253d5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610c44565b6001600160a01b03811660009081526011602052604090205460ff1615801561257f57506001600160a01b03811660009081526010602052604090205460ff16155b15611229576001600160a01b03166000818152601160205260408120805460ff191660019081179091556013805491820181559091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319169091179055565b6125f2612d64565b6001600160a01b03811661261c57604051631e4fbdf760e01b815260006004820152602401610c44565b61122981612d91565b6005546001600160a01b031633148061264857506017546001600160a01b031633145b6126855760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610c44565b6001600160a01b038216158015906126a557506001600160a01b03811615155b6126f15760405162461bcd60e51b815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152606401610c44565b6001600160a01b038281166000908152600c602052604090205416156127595760405162461bcd60e51b815260206004820152601b60248201527f5573657220616c726561647920686173206120726566657272657200000000006044820152606401610c44565b806001600160a01b0316826001600160a01b0316036127ae5760405162461bcd60e51b815260206004820152601160248201527021b0b73737ba103932b332b91039b2b63360791b6044820152606401610c44565b6001600160a01b038281166000908152600c6020526040812080546001600160a01b03191692841692909217909155805b6001600160a01b0383166000908152600e6020526040902054811015612859576001600160a01b038381166000908152600e602052604090208054918616918390811061282e5761282e613c37565b6000918252602090912001546001600160a01b0316036128515760019150612859565b6001016127df565b5080611ef357506001600160a01b039081166000908152600e602090815260408220805460018101825590835291200180546001600160a01b03191692909116919091179055565b6002600654036128f35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c44565b6002600655565b6001600160a01b0382166000908152600f602052604081208054839290612922908490613c66565b90915550506001600160a01b038083166000908152600c60205260409020546110f59116612f3c565b60005b6001600160a01b038316156129ac576001600160a01b038381166000908152600c6020526040902054818416911603612989575060016112d2565b6001600160a01b039283166000908152600c60205260409020549092169161294e565b50600092915050565b60005b6013548110156110f557816001600160a01b0316601382815481106129df576129df613c37565b6000918252602090912001546001600160a01b031603612a845760138054612a0990600190613c24565b81548110612a1957612a19613c37565b600091825260209091200154601380546001600160a01b039092169183908110612a4557612a45613c37565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601380548061208757612087613d32565b6001016129b8565b611ef383838360016131b3565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811015612b125781811015612b0357604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610c44565b612b12848484840360006131b3565b50505050565b612b20613288565b612b2a83836133a4565b6001600160a01b03831660009081526015602052604090205460ff1680612b6957506001600160a01b03821660009081526015602052604090205460ff165b15612b7957611ef3838383612edd565b60006064612b88600a84613beb565b612b929190613c02565b90506509184e72a000600081612ba88486613c24565b612bb29190613c24565b6007549091506001600160a01b0390811690871603612c7857600954600160a01b900460ff16612c245760405162461bcd60e51b815260206004820152601c60248201527f427579696e672069732063757272656e746c792064697361626c6564000000006044820152606401610c44565b6000612c31876001613514565b90506000612c40886002613514565b9050612c4d308386612edd565b612c58308286612edd565b612c6385888a61355b565b612c6e888885612edd565b5050505050505050565b6007546001600160a01b0390811690861603612d51576512309ce540008411612cdb5760405162461bcd60e51b815260206004820152601560248201527414d95b1b08185b5bdd5b9d081d1bdbc81cdb585b1b605a1b6044820152606401610c44565b612ce683878861355b565b612cf1868784612edd565b600082612cfe8587613c24565b612d089190613c24565b9050612d15878783612edd565b60006064612d24836050613beb565b612d2e9190613c02565b90508060196000828254612d429190613c66565b90915550505050505050505050565b612d5c868686612edd565b505050505050565b6005546001600160a01b0316331461185f5760405163118cdaa760e01b8152336004820152602401610c44565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805b8451811015612e475760166000868381518110612e0657612e06613c37565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16612e3f5781612e3b81613c4d565b9250505b600101612de7565b5080600003612e565750505050565b6000612e628285613c02565b905060005b8551811015612d5c5760166000878381518110612e8657612e86613c37565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16612ed557612ed584878381518110612ec757612ec7613c37565b602002602001015184612edd565b600101612e67565b6001600160a01b038316612f0757604051634b637e8f60e11b815260006004820152602401610c44565b6001600160a01b038216612f315760405163ec442f0560e01b815260006004820152602401610c44565b611ef38383836137eb565b60008060005b6001600160a01b0384166000908152600e6020526040902054811015612fe7576001600160a01b0384166000908152600e60205260408120805483908110612f8c57612f8c613c37565b60009182526020808320909101546001600160a01b0316808352600f909152604090912054909150670429d069189e000011612fde5783612fcc81613c4d565b9450508280612fda90613c4d565b9350505b50600101612f42565b506001600160a01b0383166000908152600e6020526040902054600a118015906130125750600a8210155b156130d5576001600160a01b03831660009081526010602052604090205460ff16611ef3576001600160a01b0383166000818152601060209081526040808320805460ff191660019081179091556012805491820190557fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319168517905592825260119052205460ff1615611ef3576001600160a01b0383166000908152601160205260409020805460ff19169055611ef3836129b5565b6001600160a01b0383166000908152600e60205260409020546005118015906130ff575060058110155b15611ef3576001600160a01b03831660009081526011602052604090205460ff1615801561314657506001600160a01b03831660009081526010602052604090205460ff16155b15611ef35750506001600160a01b03166000818152601160205260408120805460ff191660019081179091556013805491820181559091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319169091179055565b6001600160a01b0384166131dd5760405163e602df0560e01b815260006004820152602401610c44565b6001600160a01b03831661320757604051634a1406b160e11b815260006004820152602401610c44565b6001600160a01b0380851660009081526001602090815260408083209387168352929052208290558015612b1257826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161327a91815260200190565b60405180910390a350505050565b610e10600a546132989190613c66565b421061185f576007546001600160a01b03166000908152602081905260408120546305f5e100906132cc906101a090613beb565b6132d69190613c02565b90506000601954826132e89190613c66565b6007546001600160a01b031660009081526020819052604090205490915080821115613312578091505b811561332e5760075461332e906001600160a01b031683613915565b600760009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b505042600a5550506000601955505050565b6001600160a01b0382163014806133c357506001600160a01b03811630145b806133db57506007546001600160a01b038381169116145b806133f357506007546001600160a01b038281169116145b156133fc575050565b6001600160a01b038083166000818152600d602081815260408084209587168452948152848320805460ff1916600117905590815283822092825291909152205460ff16801561346457506001600160a01b038281166000908152600c602052604090205416155b156110f5576001600160a01b038281166000908152600c6020526040812080546001600160a01b03191692841692909217909155805b6001600160a01b0383166000908152600e6020526040902054811015612859576001600160a01b038381166000908152600e60205260409020805491861691839081106134e9576134e9613c37565b6000918252602090912001546001600160a01b03160361350c5760019150612859565b60010161349a565b604080514260208083019190915260609490941b6bffffffffffffffffffffffff191681830152605480820193909352815180820390930183526074019052805191012090565b60006103e861356b601e86613beb565b6135759190613c02565b905060006103e8613587600a87613beb565b6135919190613c02565b905060006103e86135a3601e88613beb565b6135ad9190613c02565b905060006103e86135bf601989613beb565b6135c99190613c02565b9050613630601280548060200260200160405190810160405280929190818152602001828054801561362457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613606575b50505050508587612de3565b613695601380548060200260200160405190810160405280929190818152602001828054801561368957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161366b575b50505050508487612de3565b6001600160a01b038087166000908152600c60205260409020541680158015906136d857506001600160a01b03811660009081526016602052604090205460ff16155b156136ed576136e8868285612edd565b613705565b6009546137059087906001600160a01b031685612edd565b8160005b60148110801561372157506001600160a01b03831615155b156137bc576000613733601486613c02565b6001600160a01b03851660009081526016602052604090205490915060ff1661376657613761898583612edd565b61377e565b60095461377e908a906001600160a01b031683612edd565b6137888184613c24565b6001600160a01b039485166000908152600c60205260409020549094169392508190506137b481613c4d565b915050613709565b503060009081526020819052604090205480156137df576137df30600183612edd565b50505050505050505050565b6001600160a01b03831661381657806002600082825461380b9190613c66565b909155506138889050565b6001600160a01b038316600090815260208190526040902054818110156138695760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610c44565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166138a4576002805482900390556138c3565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161390891815260200190565b60405180910390a3505050565b6001600160a01b03821661393f57604051634b637e8f60e11b815260006004820152602401610c44565b6110f5826000836137eb565b80356001600160a01b038116811461396257600080fd5b919050565b6000806040838503121561397a57600080fd5b6139838361394b565b91506139916020840161394b565b90509250929050565b6000602082840312156139ac57600080fd5b6139b58261394b565b9392505050565b60005b838110156139d75781810151838201526020016139bf565b50506000910152565b60208152600082518060208401526139ff8160408501602087016139bc565b601f01601f19169190910160400192915050565b60008060408385031215613a2657600080fd5b613a2f8361394b565b946020939093013593505050565b801515811461122957600080fd5b60008060408385031215613a5e57600080fd5b613a678361394b565b91506020830135613a7781613a3d565b809150509250929050565b600080600060608486031215613a9757600080fd5b613aa08461394b565b9250613aae6020850161394b565b929592945050506040919091013590565b60008083601f840112613ad157600080fd5b50813567ffffffffffffffff811115613ae957600080fd5b6020830191508360208260051b8501011115613b0457600080fd5b9250929050565b60008060008060408587031215613b2157600080fd5b843567ffffffffffffffff811115613b3857600080fd5b613b4487828801613abf565b909550935050602085013567ffffffffffffffff811115613b6457600080fd5b613b7087828801613abf565b95989497509550505050565b600060208284031215613b8e57600080fd5b5035919050565b60008060408385031215613ba857600080fd5b823591506139916020840161394b565b600060208284031215613bca57600080fd5b81356139b581613a3d565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176112d2576112d2613bd5565b600082613c1f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156112d2576112d2613bd5565b634e487b7160e01b600052603260045260246000fd5b600060018201613c5f57613c5f613bd5565b5060010190565b808201808211156112d2576112d2613bd5565b60008251613c8b8184602087016139bc565b9190910192915050565b60208082526013908201527236bab9ba1031329036b4b73a1039b2b73232b960691b604082015260600190565b600181811c90821680613cd657607f821691505b602082108103613cf657634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215613d0e57600080fd5b5051919050565b600060208284031215613d2757600080fd5b81516139b581613a3d565b634e487b7160e01b600052603160045260246000fd5b80516001600160701b038116811461396257600080fd5b600080600060608486031215613d7457600080fd5b613d7d84613d48565b9250613d8b60208501613d48565b9150604084015163ffffffff81168114613da457600080fd5b80915050925092509256fea26469706673582212209bcca364a87572196bdc94f3ab09da73bb2b952ef4228a2166cdb74074c3d33364736f6c634300081e0033