1.2k txs
3.6k calls
constructor
constructor(address _mintAddress, address _rewardReceiver, address _adminAddress, address _operatorAddress)
functions
adminAddress
viewfunction adminAddress() view returns (address)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
DAILY_BURN_INTERVAL
viewfunction DAILY_BURN_INTERVAL() view returns (uint256)
DAILY_BURN_PERCENT
viewfunction DAILY_BURN_PERCENT() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
divideAddress
viewfunction divideAddress(uint256) view returns (address)
getBoundShareholder
viewfunction getBoundShareholder(address _addr) view returns (address)
getCurrentDay
viewfunction getCurrentDay() view returns (uint256)
helperContract
viewfunction helperContract() view returns (address)
isBuying
viewfunction isBuying() view returns (bool)
isExcludedFromFee
viewfunction isExcludedFromFee(address) view returns (bool)
isOpen
viewfunction isOpen() view returns (bool)
isValidUser
viewfunction isValidUser(address) view returns (bool)
lastBurnTimestamp
viewfunction lastBurnTimestamp() view returns (uint256)
lastPrice
viewfunction lastPrice() view returns (uint256)
lastPriceTimestamp
viewfunction lastPriceTimestamp() view returns (uint256)
liquidityPool
viewfunction liquidityPool() view returns (address)
name
viewfunction name() view returns (string)
openTimestamp
viewfunction openTimestamp() view returns (uint256)
operatorAddress
viewfunction operatorAddress() view returns (address)
owner
viewfunction owner() view returns (address)
reserveReceiver
viewfunction reserveReceiver(uint256) view returns (address)
rewardReceiver
viewfunction rewardReceiver() view returns (address)
shareholder
viewfunction shareholder(address) view returns (bool)
superior
viewfunction superior(address) view returns (address)
superWhiteEffectiveTime
viewfunction superWhiteEffectiveTime() view returns (uint256)
superWhitelist
viewfunction superWhitelist(address) view returns (bool)
symbol
viewfunction symbol() view returns (string)
TOTAL_SUPPLY
viewfunction TOTAL_SUPPLY() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
transferIntent
viewfunction transferIntent(address, address) view returns (bool)
userNode
viewfunction userNode(address) view returns (uint256)
userReceivedBNB
viewfunction userReceivedBNB(address) view returns (uint256)
validCount
viewfunction validCount(address) view returns (uint256)
whiteEffectiveTime
viewfunction whiteEffectiveTime() view returns (uint256)
whitelist
viewfunction whitelist(address) view returns (bool)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
batchSetDivideAddress
nonpayablefunction batchSetDivideAddress(address[] accounts)
batchSetReserveReceiver
nonpayablefunction batchSetReserveReceiver(address[] accounts)
batchSetSuperWhitelist
nonpayablefunction batchSetSuperWhitelist(address[] accounts, bool value)
batchSetWhitelist
nonpayablefunction batchSetWhitelist(address[] accounts, bool value)
excludeFromFee
nonpayablefunction excludeFromFee(address account, bool excluded)
removeDivideAddress
nonpayablefunction removeDivideAddress(address account)
removeReserveReceiver
nonpayablefunction removeReserveReceiver(address account)
removeValid
nonpayablefunction removeValid(address user)
renounceOwnership
nonpayablefunction renounceOwnership()
setHelperContract
nonpayablefunction setHelperContract(address _helperContract)
setOpen
nonpayablefunction setOpen()
setOpenStatus
nonpayablefunction setOpenStatus(bool value)
setOperator
nonpayablefunction setOperator(address _operatorAddress)
setShareholder
nonpayablefunction setShareholder(address _addr, bool _isShareholder)
setSuperWhiteEffectiveTime
nonpayablefunction setSuperWhiteEffectiveTime(uint256 effectiveSeconds)
setSuperWhitelist
nonpayablefunction setSuperWhitelist(address account, bool value)
setWhiteEffectiveTime
nonpayablefunction setWhiteEffectiveTime(uint256 effectiveSeconds)
setWhitelist
nonpayablefunction setWhitelist(address account, bool value)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferBNB
nonpayablefunction transferBNB(address recipient, uint256 amount)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferToken
nonpayablefunction transferToken(address token, address recipient, uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
DailyPumpAmount
event DailyPumpAmount(address indexed user, uint256 indexed amount, uint256 indexed daliy)
DailyReleaseAmount
event DailyReleaseAmount(address indexed user, uint256 indexed amount, uint256 indexed daliy)
MainCoinRecord
event MainCoinRecord(address indexed receiver, uint256 indexed amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ShareholderBound
event ShareholderBound(address indexed user, address indexed shareholder)
SuperiorBound
event SuperiorBound(address indexed user, address indexed superior)
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
0x60806040526028601a55601e601b5534801561001a57600080fd5b506040516145723803806145728339810160408190526100399161042d565b6040805180820182526004808252635650414960e01b6020808401829052845180860190955291845290830152339160036100748382610520565b5060046100818282610520565b5050506001600160a01b0381166100b357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6100bc8161025b565b5060016006556100d9846c25dd85d670d35ec9bec00000006102ad565b6040516364e329cb60e11b815273bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c600482015230602482015273ca143ce32fe78f1f7019d7d551a6402fc5350c739063c9c65396906044016020604051808303816000875af1158015610144573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016891906105de565b600780546001600160a01b03199081166001600160a01b039384161790915560108054821695831695909517909455601f805485169382169384179055601e805490941691811691821790935533600090815260176020526040808220805460ff1990811660019081179092559690951682528082208054871686179055928152828120805486168517905590815290812080548416831790557fd0cfced84bde954d3e0d02a0a1c7b66f1675559641997f6bc29d3368d5a21bc4805484168317905580527fd840e16649f6b9a295d95876f4633d3a6b10b55e8162971cf78afd886d5ec89b8054909216179055610627565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166102d75760405163ec442f0560e01b8152600060048201526024016100aa565b6102e3600083836102e7565b5050565b6001600160a01b0383166103125780600260008282546103079190610600565b909155506103849050565b6001600160a01b038316600090815260208190526040902054818110156103655760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100aa565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166103a0576002805482900390556103bf565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161040491815260200190565b60405180910390a3505050565b80516001600160a01b038116811461042857600080fd5b919050565b6000806000806080858703121561044357600080fd5b61044c85610411565b935061045a60208601610411565b925061046860408601610411565b915061047660608601610411565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806104ab57607f821691505b6020821081036104cb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561051b57806000526020600020601f840160051c810160208510156104f85750805b601f840160051c820191505b818110156105185760008155600101610504565b50505b505050565b81516001600160401b0381111561053957610539610481565b61054d816105478454610497565b846104d1565b6020601f82116001811461058157600083156105695750848201515b600019600385901b1c1916600184901b178455610518565b600084815260208120601f198516915b828110156105b15787850151825560209485019460019092019101610591565b50848210156105cf5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000602082840312156105f057600080fd5b6105f982610411565b9392505050565b8082018082111561062157634e487b7160e01b600052601160045260246000fd5b92915050565b613f3c806106366000396000f3fe6080604052600436106103a55760003560e01c80637c46a44b116101e7578063b3ab15fb1161010d578063df8408fe116100a0578063f2fde38b1161006f578063f2fde38b14610e3d578063f3c95c6014610e5d578063f5537ede14610e8d578063fc6f946814610ead57600080fd5b8063df8408fe14610da2578063eb17fba314610dc2578063eb8c0be614610de2578063f2ef459e14610e0257600080fd5b8063d2f312ce116100dc578063d2f312ce14610cd6578063da1f988814610cf6578063da7755ee14610d2c578063dd62ed3e14610d5c57600080fd5b8063b3ab15fb14610c49578063b5f16e4814610c69578063c5639cc614610c89578063ca9ec9f414610ca957600080fd5b80639b19251a11610185578063a5e02e1711610154578063a5e02e1714610bd0578063a9059cbb14610be6578063a97eaba714610c06578063adf340e914610c1c57600080fd5b80639b19251a14610b40578063a01deff614610b70578063a095e8f914610b90578063a5dc9e1b14610bb057600080fd5b80638da5cb5b116101c15780638da5cb5b14610acc578063902d55a514610aea57806395d89b4114610b0b57806397a7125114610b2057600080fd5b80637c46a44b14610a765780637de93f9314610a965780638a85d39914610aac57600080fd5b80633e6968b6116102cc578063665a11ca1161026a578063715018a611610239578063715018a614610a0b57806371a7128d14610a205780637403eafd14610a365780637af4737514610a5657600080fd5b8063665a11ca146109805780636db29a5a146109a057806370a08231146109c0578063712b7b14146109f657600080fd5b806347535d7b116102a657806347535d7b146109015780634dba49a31461091b5780635342acb41461093057806353d6fd591461096057600080fd5b80633e6968b61461089c578063403fb5c3146108b15780634491a1cf146108d157600080fd5b80631dac30b011610344578063265bb0dd11610313578063265bb0dd1461082a5780632acc46e01461084a578063313ce5671461086a5780633d3d937d1461088657600080fd5b80631dac30b0146107a95780631e5652a4146107c957806323b872dd146107e957806324f0aa721461080957600080fd5b8063095ea7b311610380578063095ea7b3146106ff578063127effb21461072f57806318160ddd146107675780631b1435c01461077c57600080fd5b806296f5fe1461069d578063053f14da146106c757806306fdde03146106dd57600080fd5b3661069857336000908152600b60205260409020546001600160a01b03166104265760405162461bcd60e51b815260206004820152602960248201527f576974686f7574207375706572696f72732c2074726164696e67206973206e6f6044820152681d08185b1b1bddd95960ba1b60648201526084015b60405180910390fd5b34662386f26fc1000003610494573360009081526014602052604081205490036104925760405162461bcd60e51b815260206004820152601f60248201527f4465706f736974206d75737420626520686967686572207468616e20302e3100604482015260640161041d565b005b67016345785d8a00003410156104ec5760405162461bcd60e51b815260206004820152601f60248201527f4465706f736974206d75737420626520686967686572207468616e20302e3100604482015260640161041d565b670de0b6b3a76400003411156105445760405162461bcd60e51b815260206004820152601b60248201527f4465706f736974206d757374206265206c657373207468616e20310000000000604482015260640161041d565b33600090815260146020526040902054670de0b6b3a7640000906105699034906139cc565b11156105b75760405162461bcd60e51b815260206004820152601f60248201527f53756273637269626520746f2061206d6178696d756d206f66203120424e4200604482015260640161041d565b601c5460ff166105d95760405162461bcd60e51b815260040161041d906139df565b601b54601d546105e991906139cc565b421161061e573360009081526019602052604090205460ff1661061e5760405162461bcd60e51b815260040161041d906139df565b601a54601b54601d5461063191906139cc565b61063b91906139cc565b421161068e573360009081526018602052604090205460ff1615801561067157503360009081526019602052604090205460ff16155b1561068e5760405162461bcd60e51b815260040161041d906139df565b6104923334610ecd565b600080fd5b3480156106a957600080fd5b506106b46201518081565b6040519081526020015b60405180910390f35b3480156106d357600080fd5b506106b460095481565b3480156106e957600080fd5b506106f26115be565b6040516106be9190613a0b565b34801561070b57600080fd5b5061071f61071a366004613a6e565b611650565b60405190151581526020016106be565b34801561073b57600080fd5b50601e5461074f906001600160a01b031681565b6040516001600160a01b0390911681526020016106be565b34801561077357600080fd5b506002546106b4565b34801561078857600080fd5b506106b4610797366004613a9a565b60146020526000908152604090205481565b3480156107b557600080fd5b5060105461074f906001600160a01b031681565b3480156107d557600080fd5b506104926107e4366004613a9a565b61166a565b3480156107f557600080fd5b5061071f610804366004613ab7565b6117c5565b34801561081557600080fd5b50601f5461071f90600160a01b900460ff1681565b34801561083657600080fd5b5061074f610845366004613af8565b6117e9565b34801561085657600080fd5b50610492610865366004613b5d565b611813565b34801561087657600080fd5b50604051601281526020016106be565b34801561089257600080fd5b506106b460085481565b3480156108a857600080fd5b506106b461188c565b3480156108bd57600080fd5b506104926108cc366004613af8565b6118d7565b3480156108dd57600080fd5b5061071f6108ec366004613a9a565b600d6020526000908152604090205460ff1681565b34801561090d57600080fd5b50601c5461071f9060ff1681565b34801561092757600080fd5b506106b4600381565b34801561093c57600080fd5b5061071f61094b366004613a9a565b60176020526000908152604090205460ff1681565b34801561096c57600080fd5b5061049261097b366004613bad565b6118e4565b34801561098c57600080fd5b5060075461074f906001600160a01b031681565b3480156109ac57600080fd5b506104926109bb366004613af8565b611917565b3480156109cc57600080fd5b506106b46109db366004613a9a565b6001600160a01b031660009081526020819052604090205490565b348015610a0257600080fd5b50610492611924565b348015610a1757600080fd5b50610492611944565b348015610a2c57600080fd5b506106b4601a5481565b348015610a4257600080fd5b50610492610a51366004613be6565b611958565b348015610a6257600080fd5b50610492610a71366004613b5d565b6119cd565b348015610a8257600080fd5b50610492610a91366004613c3d565b611a41565b348015610aa257600080fd5b506106b4600a5481565b348015610ab857600080fd5b50610492610ac7366004613a9a565b611a5c565b348015610ad857600080fd5b506005546001600160a01b031661074f565b348015610af657600080fd5b506106b46c25dd85d670d35ec9bec000000081565b348015610b1757600080fd5b506106f2611bad565b348015610b2c57600080fd5b5061074f610b3b366004613af8565b611bbc565b348015610b4c57600080fd5b5061071f610b5b366004613a9a565b60186020526000908152604090205460ff1681565b348015610b7c57600080fd5b50610492610b8b366004613bad565b611bcc565b348015610b9c57600080fd5b50610492610bab366004613be6565b611bff565b348015610bbc57600080fd5b5060135461074f906001600160a01b031681565b348015610bdc57600080fd5b506106b4601b5481565b348015610bf257600080fd5b5061071f610c01366004613a6e565b611c6e565b348015610c1257600080fd5b506106b4601d5481565b348015610c2857600080fd5b506106b4610c37366004613a9a565b600f6020526000908152604090205481565b348015610c5557600080fd5b50610492610c64366004613a9a565b611c7c565b348015610c7557600080fd5b50610492610c84366004613bad565b611ca6565b348015610c9557600080fd5b50610492610ca4366004613a9a565b611d21565b348015610cb557600080fd5b506106b4610cc4366004613a9a565b60166020526000908152604090205481565b348015610ce257600080fd5b5061074f610cf1366004613a9a565b611d4b565b348015610d0257600080fd5b5061074f610d11366004613a9a565b600b602052600090815260409020546001600160a01b031681565b348015610d3857600080fd5b5061071f610d47366004613a9a565b60196020526000908152604090205460ff1681565b348015610d6857600080fd5b506106b4610d77366004613c5a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610dae57600080fd5b50610492610dbd366004613bad565b611deb565b348015610dce57600080fd5b50610492610ddd366004613a6e565b611e1e565b348015610dee57600080fd5b50610492610dfd366004613a9a565b611eeb565b348015610e0e57600080fd5b5061071f610e1d366004613c5a565b600c60209081526000928352604080842090915290825290205460ff1681565b348015610e4957600080fd5b50610492610e58366004613a9a565b612043565b348015610e6957600080fd5b5061071f610e78366004613a9a565b60156020526000908152604090205460ff1681565b348015610e9957600080fd5b50610492610ea8366004613ab7565b61207e565b348015610eb957600080fd5b50601f5461074f906001600160a01b031681565b610ed561211b565b6001600160a01b03821660009081526014602052604081208054839290610efd9084906139cc565b90915550506001600160a01b038083166000908152600b6020526040902054168015801590610f4557506001600160a01b03831660009081526015602052604090205460ff16155b8015610f7157506001600160a01b038316600090815260146020526040902054670429d069189e000011155b1561107e576001600160a01b038084166000908152601560209081526040808320805460ff191660019081179091559385168352601690915281208054909190610fbc9084906139cc565b90915550506001600160a01b0381166000908152600f60205260409020546002111561107e576001600160a01b038116600090815260166020526040902054600a11611023576001600160a01b0381166000908152600f602052604090206002905561107e565b6001600160a01b038116600090815260166020526040902054600511611064576001600160a01b0381166000908152600f602052604090206001905561107e565b6001600160a01b0381166000908152600f60205260408120555b6000606461108d600a85613c88565b6110979190613cb5565b90506110a560018583612174565b60006110b18285613cc9565b90506110bd858261232d565b600060646110cc600a87613c88565b6110d69190613cb5565b905060006110e26123d5565b90506000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114611131576040519150601f19603f3d011682016040523d82523d6000602084013e611136565b606091505b50509050806111925760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657220746f20726573657276652061646472657373206661696c604482015261195960f21b606482015260840161041d565b60405183906001600160a01b03841690600080516020613ee783398151915290600090a36001600160a01b038089166000908152600e60205260408120549091168015611314576001600160a01b0381166000908152600d602052604090205460ff16156112ed576064611207600a8b613c88565b6112119190613cb5565b9150806001600160a01b03168260405160006040518083038185875af1925050503d806000811461125e576040519150601f19603f3d011682016040523d82523d6000602084013e611263565b606091505b505060405190935082906001600160a01b03831690600080516020613ee783398151915290600090a3826112e85760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220746f207368617265686f6c64657220616464726573732060448201526519985a5b195960d21b606482015260840161041d565b611314565b6001600160a01b038a166000908152600e6020526040902080546001600160a01b03191690555b60006611c37937e08000838761132a8b8e613cc9565b6113349190613cc9565b61133e9190613cc9565b6113489190613cc9565b601f805460ff60a01b1916600160a01b1790559050600061136a603283613cb5565b604080516002808252606082018352929350600092909160208301908036833701905050905073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c816000815181106113b8576113b8613cdc565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106113ec576113ec613cdc565b6001600160a01b0392831660209182029290920101526013547310ed43c718714eb63d5aa57b78b54704e256024e9163b6f9de959185916000918691166114354261012c6139cc565b6040518663ffffffff1660e01b81526004016114549493929190613cf2565b6000604051808303818588803b15801561146d57600080fd5b505af1158015611481573d6000803e3d6000fd5b5050601f805460ff60a01b1916905550600091506114a190508385613cc9565b6114b2906611c37937e080006139cc565b6013546040519192506001600160a01b0316908290600081818185875af1925050503d8060008114611500576040519150601f19603f3d011682016040523d82523d6000602084013e611505565b606091505b5050809750508661156b5760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220746f2068656c70657220636f6e74726163742061646472604482015269195cdcc819985a5b195960b21b606482015260840161041d565b6032838f6001600160a01b03167f7c25f5e8e181b1fce295e80e273fc8fa2ea110ead2a2c3623cb7f961685e450f60405160405180910390a45050505050505050505050506115ba6001600655565b5050565b6060600380546115cd90613d5d565b80601f01602080910402602001604051908101604052809291908181526020018280546115f990613d5d565b80156116465780601f1061161b57610100808354040283529160200191611646565b820191906000526020600020905b81548152906001019060200180831161162957829003601f168201915b5050505050905090565b60003361165e81858561247c565b60019150505b92915050565b611672612489565b601154156116c8576011546001036116cb57806001600160a01b031660116000815481106116a2576116a2613cdc565b6000918252602090912001546001600160a01b0316036116c8576116c860116000613984565b50565b60005b6011548110156115ba57816001600160a01b0316601182815481106116f5576116f5613cdc565b6000918252602090912001546001600160a01b0316036117bd576011805461171f90600190613cc9565b8154811061172f5761172f613cdc565b600091825260209091200154601180546001600160a01b03909216918390811061175b5761175b613cdc565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601180548061179a5761179a613d97565b600082815260209020810160001990810180546001600160a01b03191690550190555b6001016116ce565b6000336117d38582856124b6565b6117de85858561252f565b506001949350505050565b601281815481106117f957600080fd5b6000918252602090912001546001600160a01b0316905081565b61181b612489565b60005b8181101561188757601183838381811061183a5761183a613cdc565b905060200201602081019061184f9190613a9a565b815460018082018455600093845260209093200180546001600160a01b0319166001600160a01b03929092169190911790550161181e565b505050565b6000601d54600014806118a05750601d5442105b156118ab5750600090565b62015180601d54426118bd9190613cc9565b6118c79190613cb5565b6118d29060016139cc565b905090565b6118df612489565b601a55565b6118ec612489565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b61191f612489565b601b55565b61192c612489565b601c805460ff1916600117905542601d819055600855565b61194c612489565b61195660006128d0565b565b611960612489565b60005b828110156119c757816019600086868581811061198257611982613cdc565b90506020020160208101906119979190613a9a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101611963565b50505050565b6119d5612489565b60005b818110156118875760128383838181106119f4576119f4613cdc565b9050602002016020810190611a099190613a9a565b815460018082018455600093845260209093200180546001600160a01b0319166001600160a01b0392909216919091179055016119d8565b611a49612489565b601c805460ff1916911515919091179055565b601e546001600160a01b03163314611aa55760405162461bcd60e51b815260206004820152600c60248201526b2737ba1027b832b930ba37b960a11b604482015260640161041d565b6001600160a01b038116611aea5760405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103ab9b2b960a11b604482015260640161041d565b6001600160a01b038082166000908152601460209081526040808320839055600b82528083205460159092529091205491169060ff168015611b3457506001600160a01b03811615155b8015611b5757506001600160a01b03811660009081526016602052604090205415155b15611b8b576001600160a01b0381166000908152601660205260408120805460019290611b85908490613cc9565b90915550505b506001600160a01b03166000908152601560205260409020805460ff19169055565b6060600480546115cd90613d5d565b601181815481106117f957600080fd5b611bd4612489565b6001600160a01b03919091166000908152601960205260409020805460ff1916911515919091179055565b611c07612489565b60005b828110156119c7578160186000868685818110611c2957611c29613cdc565b9050602002016020810190611c3e9190613a9a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101611c0a565b60003361165e81858561252f565b611c84612489565b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b611cae612489565b6001600160a01b038216611cf65760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161041d565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b611d29612489565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b038216611d955760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161041d565b6001600160a01b038083166000908152600e6020526040902054168015801590611dd757506001600160a01b0381166000908152600d602052604090205460ff165b15611de25792915050565b50600092915050565b611df3612489565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b601f546001600160a01b03163314611e485760405162461bcd60e51b815260040161041d90613dad565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611e95576040519150601f19603f3d011682016040523d82523d6000602084013e611e9a565b606091505b50509050806118875760405162461bcd60e51b815260206004820152601960248201527f4d61696e20636f696e207472616e73666572206661696c656400000000000000604482015260640161041d565b611ef3612489565b601254156116c857601254600103611f4957806001600160a01b03166012600081548110611f2357611f23613cdc565b6000918252602090912001546001600160a01b0316036116c8576116c860126000613984565b60005b6012548110156115ba57816001600160a01b031660128281548110611f7357611f73613cdc565b6000918252602090912001546001600160a01b03160361203b5760128054611f9d90600190613cc9565b81548110611fad57611fad613cdc565b600091825260209091200154601280546001600160a01b039092169183908110611fd957611fd9613cdc565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550601280548061201857612018613d97565b600082815260209020810160001990810180546001600160a01b03191690550190555b600101611f4c565b61204b612489565b6001600160a01b03811661207557604051631e4fbdf760e01b81526000600482015260240161041d565b6116c8816128d0565b601f546001600160a01b031633146120a85760405162461bcd60e51b815260040161041d90613dad565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156120f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190613e0a565b60026006540361216d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161041d565b6002600655565b60006064612183836028613c88565b61218d9190613cb5565b90506000606461219e846005613c88565b6121a89190613cb5565b90506000816121b78486613cc9565b6121c19190613cc9565b9050600083156121e3576121d6878786612922565b6121e090826139cc565b90505b8115612201576121f4878784612c66565b6121fe90826139cc565b90505b821561221f57612212878785612ee9565b61221c90826139cc565b90505b600061222b8287613cc9565b9050801561232357871561230b576010546040516000916001600160a01b03169083908381818185875af1925050503d8060008114612286576040519150601f19603f3d011682016040523d82523d6000602084013e61228b565b606091505b505060105460405191925083916001600160a01b0390911690600080516020613ee783398151915290600090a3806123055760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220746f206c6566742061646472657373206661696c656400604482015260640161041d565b50612323565b6010546123239088906001600160a01b0316836130c4565b5050505050505050565b600061233761188c565b90508015611887576000606461234e600184613cc9565b612359906001613c88565b6123649060a06139cc565b61236e9085613c88565b6123789190613cb5565b905060006064612389600184613c88565b6123939190613cb5565b9050606481866001600160a01b03167f2c06dbb3dbcb064ecd64d675f93fd3501d36f4b4b2fbb395b87913018d7b017c60405160405180910390a45050505050565b60008042443360405160200161241093929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b60408051601f19818403018152919052805160209091012060115490915015612474576011546000906124439083613e27565b90506011818154811061245857612458613cdc565b6000918252602090912001546001600160a01b03169392505050565b600091505090565b6118878383836001613123565b6005546001600160a01b031633146119565760405163118cdaa760e01b815233600482015260240161041d565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198110156119c7578181101561252057604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161041d565b6119c784848484036000613123565b61253a8383836131f8565b6007546001600160a01b03848116911614612557576125576135d3565b6001600160a01b03831660009081526017602052604090205460ff168061259657506001600160a01b03821660009081526017602052604090205460ff165b156125a6576118878383836130c4565b6007546001600160a01b03908116908416036125ea57601f54600160a01b900460ff166125e55760405162461bcd60e51b815260040161041d906139df565b6128c5565b6007546001600160a01b03908116908316036128c557601c5460ff166126225760405162461bcd60e51b815260040161041d90613e3b565b601b54601d5461263291906139cc565b4211612697576001600160a01b03831660009081526019602052604090205460ff1615801561267a57506001600160a01b03821660009081526019602052604090205460ff16155b156126975760405162461bcd60e51b815260040161041d90613e3b565b601a54601b54601d546126aa91906139cc565b6126b491906139cc565b4211612763576001600160a01b03831660009081526018602052604090205460ff161580156126fc57506001600160a01b03821660009081526018602052604090205460ff16155b801561272157506001600160a01b03831660009081526019602052604090205460ff16155b801561274657506001600160a01b03821660009081526019602052604090205460ff16155b156127635760405162461bcd60e51b815260040161041d90613e3b565b60006064612772600a84613c88565b61277c9190613cb5565b905061278a60008583612174565b6000806127956136bf565b6009549091501561282e576009546014906127b08382613cc9565b6127bb906064613c88565b6127c59190613cb5565b11156127e95760646127d885601e613c88565b6127e29190613cb5565b915061282e565b600954600a906127f98382613cc9565b612804906064613c88565b61280e9190613cb5565b111561282e576064612821856014613c88565b61282b9190613cb5565b91505b600a5461283e90620151806139cc565b421061284a5760098190555b60006064600a8461285b8789613cc9565b6128659190613cc9565b61286f9190613c88565b6128799190613cb5565b6007549091506128949088906001600160a01b0316836130c4565b600081846128a28789613cc9565b6128ac9190613cc9565b6128b69190613cc9565b90506123238861dead836130c4565b6118878383836130c4565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008082116129735760405162461bcd60e51b815260206004820152601d60248201527f4e6f64652072657761726473206d75737420626520706f736974697665000000604482015260640161041d565b8260006028612983856019613c88565b61298d9190613cb5565b9050600061299b8286613cc9565b6001600160a01b038085166000908152600b602052604081205492935091169080805b6001600160a01b03841615612c58576001600160a01b0384166000908152600f602052604090205460021480156129f3575082155b15612b02578a15612ad8576000846001600160a01b03168760405160006040518083038185875af1925050503d8060008114612a4b576040519150601f19603f3d011682016040523d82523d6000602084013e612a50565b606091505b5050905086856001600160a01b0316600080516020613ee783398151915260405160405180910390a380612ad25760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220746f20626967206e6f64652061646472657373206661696044820152621b195960ea1b606482015260840161041d565b50612ae3565b612ae38a85886130c4565b612aed86826139cc565b9050600182151514612c585760019250612c35565b6001600160a01b0384166000908152600f60205260409020546001148015612b28575081155b15612c35578a15612c0f576000846001600160a01b03168660405160006040518083038185875af1925050503d8060008114612b80576040519150601f19603f3d011682016040523d82523d6000602084013e612b85565b606091505b5050905085856001600160a01b0316600080516020613ee783398151915260405160405180910390a380612c095760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220746f20736d616c6c206e6f646520616464726573732066604482015264185a5b195960da1b606482015260840161041d565b50612c1a565b612c1a8a85876130c4565b612c2485826139cc565b9050600183151514612c5857600191505b6001600160a01b039384166000908152600b6020526040902054909316926129be565b9a9950505050505050505050565b6000808211612cc15760405162461bcd60e51b815260206004820152602160248201527f52656665727265722072657761726473206d75737420626520706f73697469766044820152606560f81b606482015260840161041d565b600060405180610160016040528061012c81526020016019815260200160198152602001601981526020016019815260200160198152602001601981526020016019815260200160198152602001601981526020016019815250905060008490506000805b600b811015612ede576001600160a01b038084166000908152600b60205260409020541680612d555750612ede565b6001600160a01b03811660009081526015602052604090205460ff168015612d9d57506001600160a01b038116600090815260146020526040902054670429d069189e000011155b15612ed45760006102268684600b8110612db957612db9613cdc565b6020020151612dc8908a613c88565b612dd29190613cb5565b90508015612ed2578915612eba576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e2d576040519150601f19603f3d011682016040523d82523d6000602084013e612e32565b606091505b5050905081836001600160a01b0316600080516020613ee783398151915260405160405180910390a380612eb45760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220746f2072656665727265722061646472657373206661696044820152621b195960ea1b606482015260840161041d565b50612ec5565b612ec58983836130c4565b612ecf81856139cc565b93505b505b9250600101612d26565b509695505050505050565b6000808211612f3a5760405162461bcd60e51b815260206004820152601f60248201527f4469766964652072657761726473206d75737420626520706f73697469766500604482015260640161041d565b601254600081156130bb576000612f518386613cb5565b905060005b838110156130b857871561307257600060128281548110612f7957612f79613cdc565b60009182526020822001546040516001600160a01b039091169185919081818185875af1925050503d8060008114612fcd576040519150601f19603f3d011682016040523d82523d6000602084013e612fd2565b606091505b505090508260128381548110612fea57612fea613cdc565b60009182526020822001546040516001600160a01b0390911691600080516020613ee783398151915291a38061306c5760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220746f206469766964652061646472657373206661696c656044820152601960fa1b606482015260840161041d565b506130a4565b6130a4876012838154811061308957613089613cdc565b6000918252602090912001546001600160a01b0316846130c4565b6130ae82846139cc565b9250600101612f56565b50505b95945050505050565b6001600160a01b0383166130ee57604051634b637e8f60e11b81526000600482015260240161041d565b6001600160a01b0382166131185760405163ec442f0560e01b81526000600482015260240161041d565b61188783838361385a565b6001600160a01b03841661314d5760405163e602df0560e01b81526000600482015260240161041d565b6001600160a01b03831661317757604051634a1406b160e11b81526000600482015260240161041d565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156119c757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516131ea91815260200190565b60405180910390a350505050565b6007546001600160a01b0384811691161480159061322457506007546001600160a01b03838116911614155b156118875780670de0b6b3a764000014801561325857506001600160a01b038281166000908152600b602052604090205416155b801561328957506001600160a01b038083166000908152600c602090815260408083209387168352929052205460ff165b80156132ae57506001600160a01b03831660009081526017602052604090205460ff16155b80156132d357506001600160a01b03821660009081526017602052604090205460ff16155b1561335a5760405162461bcd60e51b815260206004820152604b60248201527f556e61626c6520746f20636f6d706c657465207468652062696e64696e67207260448201527f656c6174696f6e7368697020776974686f75742062696e64696e6720746f207460648201526a34329039bab832b934b7b960a91b608482015260a40161041d565b816001600160a01b0316836001600160a01b031614611887576001600160a01b038084166000908152600c602090815260408083209386168352929052205460ff166133d1576001600160a01b038084166000908152600c60209081526040808320938616835292905220805460ff191660011790555b6001600160a01b038083166000908152600c602090815260408083209387168352929052205460ff1615611887576001600160a01b038381166000908152600b60205260409020541615801561342e575080670de0b6b3a7640000145b15611887576001600160a01b038381166000908152600b6020908152604080832080546001600160a01b0319169487169485179055928252600d9052205460ff1615156001036134d0576001600160a01b038381166000818152600e602052604080822080546001600160a01b0319169487169485179055517f33723f5b1c814de0e5b391755817a00ea9ad2005a2f912e2ec574c9286a7a8429190a361358e565b6001600160a01b038281166000908152600e6020526040902054161580159061352057506001600160a01b038083166000908152600e60209081526040808320549093168252600d9052205460ff165b1561358e576001600160a01b038083166000818152600e6020526040808220805488861680855283852080546001600160a01b031916928816929092179091559383525490519316927f33723f5b1c814de0e5b391755817a00ea9ad2005a2f912e2ec574c9286a7a8429190a35b816001600160a01b0316836001600160a01b03167f1033b06c3baa4b2b6f6591b9c724d57a287e0f0168e3919ebe34ceffbc2e3a5a60405160405180910390a3505050565b60006008541180156135f55750620151806008546135f191906139cc565b4210155b15611956576007546001600160a01b0316600090815260208190526040812054906064613623600384613c88565b61362d9190613cb5565b905080156136b75760075461364e906001600160a01b031661dead836130c4565b600760009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561369e57600080fd5b505af11580156136b2573d6000803e3d6000fd5b505050505b505042600855565b6000806000600760009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061373b9190613e84565b5091509150600080836001600160701b031611801561376357506000826001600160701b0316115b156138535760075460408051630dfe168160e01b815290516000926001600160a01b031691630dfe16819160048083019260209291908290030181865afa1580156137b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d69190613ec9565b9050306001600160a01b0382160361382057836001600160701b0316836001600160701b0316670de0b6b3a764000061380f9190613c88565b6138199190613cb5565b9150613851565b826001600160701b0316846001600160701b0316670de0b6b3a76400006138479190613c88565b6130bb9190613cb5565b505b9392505050565b6001600160a01b03831661388557806002600082825461387a91906139cc565b909155506138f79050565b6001600160a01b038316600090815260208190526040902054818110156138d85760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161041d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661391357600280548290039055613932565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161397791815260200190565b60405180910390a3505050565b50805460008255906000526020600020908101906116c891905b808211156139b2576000815560010161399e565b5090565b634e487b7160e01b600052601160045260246000fd5b80820180821115611664576116646139b6565b602080825260129082015271109d5e5a5b99c81a5cc8191a5cd8589b195960721b604082015260600190565b602081526000825180602084015260005b81811015613a395760208186018101516040868401015201613a1c565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146116c857600080fd5b60008060408385031215613a8157600080fd5b8235613a8c81613a59565b946020939093013593505050565b600060208284031215613aac57600080fd5b813561385381613a59565b600080600060608486031215613acc57600080fd5b8335613ad781613a59565b92506020840135613ae781613a59565b929592945050506040919091013590565b600060208284031215613b0a57600080fd5b5035919050565b60008083601f840112613b2357600080fd5b50813567ffffffffffffffff811115613b3b57600080fd5b6020830191508360208260051b8501011115613b5657600080fd5b9250929050565b60008060208385031215613b7057600080fd5b823567ffffffffffffffff811115613b8757600080fd5b613b9385828601613b11565b90969095509350505050565b80151581146116c857600080fd5b60008060408385031215613bc057600080fd5b8235613bcb81613a59565b91506020830135613bdb81613b9f565b809150509250929050565b600080600060408486031215613bfb57600080fd5b833567ffffffffffffffff811115613c1257600080fd5b613c1e86828701613b11565b9094509250506020840135613c3281613b9f565b809150509250925092565b600060208284031215613c4f57600080fd5b813561385381613b9f565b60008060408385031215613c6d57600080fd5b8235613c7881613a59565b91506020830135613bdb81613a59565b8082028115828204841417611664576116646139b6565b634e487b7160e01b600052601260045260246000fd5b600082613cc457613cc4613c9f565b500490565b81810381811115611664576116646139b6565b634e487b7160e01b600052603260045260246000fd5b6000608082018683526080602084015280865180835260a08501915060208801925060005b81811015613d3e5783516001600160a01b0316835260209384019390920191600101613d17565b50506001600160a01b0395909516604084015250506060015292915050565b600181811c90821680613d7157607f821691505b602082108103613d9157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b6020808252603b908201527f54686973206d6574686f642063616e206f6e6c792062652063616c6c6564206260408201527f79207468652061646d696e6973747261746f7220616464726573730000000000606082015260800190565b600060208284031215613e1c57600080fd5b815161385381613b9f565b600082613e3657613e36613c9f565b500690565b60208082526013908201527214d95b1b1a5b99c81a5cc8191a5cd8589b1959606a1b604082015260600190565b80516001600160701b0381168114613e7f57600080fd5b919050565b600080600060608486031215613e9957600080fd5b613ea284613e68565b9250613eb060208501613e68565b9150604084015163ffffffff81168114613c3257600080fd5b600060208284031215613edb57600080fd5b815161385381613a5956fe8b2eea3c3ae37fd78a2b9f9109a941c3fe722631b876723ba337b56aa86eb26ba26469706673582212207764dc725e19f48912c982e3fce1cb298ec639d22d4ed38f8c98c5593f056f8664736f6c634300081e0033000000000000000000000000de048cf6c789532436f1c4003d722428462966f300000000000000000000000070612b9308d14f8ff0065fc16194d38091f0edd00000000000000000000000008e90812a6d0d5f9f34d769d62e11660fc6b899e70000000000000000000000009190f26b1755ca080f290840fe026bf4ca805f98