2.2k txs
2.3k calls
constructor
constructor()
functions
_binder
viewfunction _binder(address, uint256) view returns (address)
_cashAddress
viewfunction _cashAddress() view returns (address)
_claimedInviteUsdt
viewfunction _claimedInviteUsdt() view returns (uint256)
_dailyDuration
viewfunction _dailyDuration() view returns (uint256)
_daysToDate
purefunction _daysToDate(uint256 _days) pure returns (uint256 year, uint256 month, uint256 day)
_defaultInvitor
viewfunction _defaultInvitor() view returns (address)
_endTime
viewfunction _endTime() view returns (uint256)
_inProject
viewfunction _inProject(address) view returns (bool)
_inviteFee
viewfunction _inviteFee(uint256) view returns (uint256)
_inviteFeeCondition
viewfunction _inviteFeeCondition(uint256) view returns (uint256)
_inviteLen
viewfunction _inviteLen() view returns (uint256)
_invitor
viewfunction _invitor(address) view returns (address)
_isActive
viewfunction _isActive(address) view returns (bool)
_isPartner
viewfunction _isPartner(address) view returns (bool)
_marginTimes
viewfunction _marginTimes() view returns (uint256)
_minUsdt
viewfunction _minUsdt() view returns (uint256)
_partnerCondition
viewfunction _partnerCondition() view returns (uint256)
_partnerFee
viewfunction _partnerFee() view returns (uint256)
_partnerList
viewfunction _partnerList(uint256) view returns (address)
_partnerRewards
viewfunction _partnerRewards(uint256) view returns (uint256 year, uint256 month, uint256 day, uint256 reward)
_partnerStartDay
viewfunction _partnerStartDay() view returns (uint256)
_pauseBuy
viewfunction _pauseBuy() view returns (bool)
_qtyToken
viewfunction _qtyToken() view returns (uint256)
_releaseRate
viewfunction _releaseRate() view returns (uint256)
_startReleaseTime
viewfunction _startReleaseTime() view returns (uint256)
_teamNum
viewfunction _teamNum(address, uint256) view returns (uint256)
_token
viewfunction _token() view returns (address)
_tokenAmountPerUsdt
viewfunction _tokenAmountPerUsdt() view returns (uint256)
_tokenRewards
viewfunction _tokenRewards(uint256) view returns (uint256 year, uint256 month, uint256 day, uint256 reward)
_tokenStartDay
viewfunction _tokenStartDay() view returns (uint256)
_totalClaimedToken
viewfunction _totalClaimedToken() view returns (uint256)
_totalInviteUsdt
viewfunction _totalInviteUsdt() view returns (uint256)
_totalPartnerUsdt
viewfunction _totalPartnerUsdt() view returns (uint256)
_totalSaleToken
viewfunction _totalSaleToken() view returns (uint256)
_totalSaleUsdt
viewfunction _totalSaleUsdt() view returns (uint256)
_usdt
viewfunction _usdt() view returns (address)
_usdtUnit
viewfunction _usdtUnit() view returns (uint256)
calPartnerReward
viewfunction calPartnerReward(address account) view returns (uint256 reward)
calPendingReward
viewfunction calPendingReward(address account) view returns (uint256 reward)
calReleaseToken
viewfunction calReleaseToken(address account) view returns (uint256 releaseAmount)
getBaseInfo
viewfunction getBaseInfo() view returns (address usdt, uint256 usdtDecimals, string usdtSymbol, address token, uint256 tokenDecimals, string tokenSymbol, uint256 blockTime, uint256 destroyToken)
getBinderLength
viewfunction getBinderLength(address account) view returns (uint256)
getBinderList
viewfunction getBinderList(address account, uint256 start, uint256 length) view returns (address[] binders, uint256[] amounts, uint256[] tokens)
getDividendInfo
viewfunction getDividendInfo() view returns (uint256 totalTokenAmount, uint256 totalTokenReward, uint256 partnerAmount, uint256 totalPartnerReward)
getInviteFeeConditions
viewfunction getInviteFeeConditions() view returns (uint256[] cons)
getInviteFees
viewfunction getInviteFees() view returns (uint256[] fees)
getLocalDay
viewfunction getLocalDay() view returns (uint256)
getLocalTime
viewfunction getLocalTime() view returns (uint256)
getPartnerList
viewfunction getPartnerList() view returns (address[])
getPartnerListLen
viewfunction getPartnerListLen() view returns (uint256)
getPartnerRewards
viewfunction getPartnerRewards(uint256 start, uint256 length) view returns (tuple[] infos)
getSaleInfo
viewfunction getSaleInfo() view returns (bool pause, uint256 tokenPerUsdt, uint256 minUsdt, uint256 endTime, uint256 qtyToken, uint256 totalSaleToken, uint256 releaseRate, uint256 startReleaseTime, address defaultInvitor, uint256 partnerCondition, uint256[] inviteFees)
getTokenRewards
viewfunction getTokenRewards(uint256 start, uint256 length) view returns (tuple[] infos)
getUserInfo
viewfunction getUserInfo(address account) view returns (uint256 usdtBalance, uint256 usdtAllowance, bool isActive, bool isPartner, uint256 tokenAmount, uint256 releseToken, uint256 claimedToken, uint256 inviteReward, uint256 tokenReward, uint256 partnerReward)
getUserTeamInfo
viewfunction getUserTeamInfo(address account) view returns (address invitor, uint256 binderLen, uint256 teamNum)
owner
viewfunction owner() view returns (address)
partnerPoolInfo
viewfunction partnerPoolInfo() view returns (uint256 totalAmount, uint256 accRewardPerShare, uint256 accReward, uint256 claimedReward)
poolInfo
viewfunction poolInfo() view returns (uint256 totalAmount, uint256 accRewardPerShare, uint256 accReward, uint256 claimedReward)
timestampToDate
purefunction timestampToDate(uint256 timestamp) pure returns (uint256 year, uint256 month, uint256 day)
timestampToDateTime
purefunction timestampToDateTime(uint256 timestamp) pure returns (uint256 year, uint256 month, uint256 day, uint256 hour, uint256 minute, uint256 second)
userInfo
viewfunction userInfo(address) view returns (uint256 buyUsdt, uint256 tokenAmount, uint256 claimedToken, uint256 rewardDebt, uint256 claimedReward, uint256 inviteUsdt, uint256 claimedInviteUsdt)
userPartnerInfo
viewfunction userPartnerInfo(address) view returns (uint256 amount, uint256 rewardDebt, uint256 claimedReward)
addPartnerReward
nonpayablefunction addPartnerReward(uint256 reward)
addReward
nonpayablefunction addReward(uint256 reward)
bindInvitor
nonpayablefunction bindInvitor(address account, address invitor)
buy
nonpayablefunction buy(uint256 usdtAmount, address invitor)
claim
nonpayablefunction claim()
claimBalance
nonpayablefunction claimBalance(address to, uint256 amount)
claimInvite
nonpayablefunction claimInvite()
claimPartnerReward
nonpayablefunction claimPartnerReward()
claimReward
nonpayablefunction claimReward()
claimToken
nonpayablefunction claimToken()
claimToken
nonpayablefunction claimToken(address token, address to, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setCashAddress
nonpayablefunction setCashAddress(address ca)
setEndTime
nonpayablefunction setEndTime(uint256 ts)
setInProject
nonpayablefunction setInProject(address adr, bool enable)
setInviteFee
nonpayablefunction setInviteFee(uint256 i, uint256 fee)
setInviteFeeCondition
nonpayablefunction setInviteFeeCondition(uint256 i, uint256 fee)
setMinUsdt
nonpayablefunction setMinUsdt(uint256 min)
setPartnerCondition
nonpayablefunction setPartnerCondition(uint256 c)
setPartnerFee
nonpayablefunction setPartnerFee(uint256 f)
setPauseBuy
nonpayablefunction setPauseBuy(bool pause)
setQtyToken
nonpayablefunction setQtyToken(uint256 qty)
setReleaseRate
nonpayablefunction setReleaseRate(uint256 rate)
setStartReleaseTime
nonpayablefunction setStartReleaseTime(uint256 ts)
setTokenAmountPerUsdt
nonpayablefunction setTokenAmountPerUsdt(uint256 a)
testSetMarginTimes
nonpayablefunction testSetMarginTimes(uint256 ts)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Reward
event Reward(address indexed to, uint256 indexed reward, uint256 i, uint256 buyUsdt)
errors
No errors.
creation bytecode
0x60e06040526013805460ff19169055601e6018556101f4601a5560006024553480156200002b57600080fd5b50600080546001600160a01b0319163390811782556040517355d398326f99059ff775485246999027b319795592736d2df3ec7865e29a9bc0ae36cb938bd850f9cc7592730f90fba37b8d3d82b7d7a38b90ede393d7d4f9eb9273c2f16e73f01975c7c43b9b697e150bbfecc61af59282917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b03808516608052831660a0526000805260096020526107d07fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b55600a60015b8181101562000137576000818152600960205260409020606490556200012f81620003a7565b905062000109565b506080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019f9190620003c3565b620001ac90600a620004ee565b60c0819052620001be906032620004ff565b600c55601380546001600160a01b0380861661010002610100600160a81b031990921691909117909155601580548483166001600160a01b031990911681179091556000908152600b60209081526040808320805460ff1916600117905560a051815163313ce56760e01b815291519394169263313ce567926004808401939192918290030181865afa1580156200025a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002809190620003c3565b6200028d90600a620004ee565b9050620002a08164012a05f200620004ff565b600d55620002b3816301312d00620004ff565b601b55620002c3816064620004ff565b601455620002d6426301e1338062000519565b600e5560c051620002ea906101f4620004ff565b60008052600a6020527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e35560015b600581101562000344576000818152600a60205260408120556200033c81620003a7565b905062000318565b5060055b82811015620003845760c05162000362906101f4620004ff565b6000828152600a60205260409020556200037c81620003a7565b905062000348565b505050505050506200052f565b634e487b7160e01b600052601160045260246000fd5b600060018201620003bc57620003bc62000391565b5060010190565b600060208284031215620003d657600080fd5b815160ff81168114620003e857600080fd5b9392505050565b600181815b808511156200043057816000190482111562000414576200041462000391565b808516156200042257918102915b93841c9390800290620003f4565b509250929050565b6000826200044957506001620004e8565b816200045857506000620004e8565b81600181146200047157600281146200047c576200049c565b6001915050620004e8565b60ff84111562000490576200049062000391565b50506001821b620004e8565b5060208310610133831016604e8410600b8410161715620004c1575081810a620004e8565b620004cd8383620003ef565b8060001904821115620004e457620004e462000391565b0290505b92915050565b6000620003e860ff84168362000438565b8082028115828204841417620004e857620004e862000391565b80820180821115620004e857620004e862000391565b60805160a05160c051613e68620005f260003960008181610c4b01528181611dbc015281816120d701526122140152600081816110d8015281816113ff015281816125170152818161253a015281816125c10152818161266101526126eb015260008181610e4101528181611689015281816117630152818161182501528181611cac01528181611e820152818161208b015281816122aa015281816123e5015281816124080152818161248f0152818161292a0152612da40152613e686000f3fe6080604052600436106104da5760003560e01c80637f009d2c11610281578063c09d0e0f1161015a578063d9f30492116100cc578063f085bf4b11610085578063f085bf4b146110fa578063f0f8857c14611110578063f12e6eb714611130578063f289b22914611150578063f2fde38b14611166578063fee985831461118657600080fd5b8063d9f3049214610fe7578063db83694c14610ffd578063de5101af14611029578063e5d6563314611049578063ea1c169014611079578063ecd0c0c3146110c657600080fd5b8063ccb98ffc1161011e578063ccb98ffc14610f1e578063cece645d14610f3e578063cef6632d14610f54578063d21ac12614610f81578063d260f31514610f97578063d7d509e614610fb757600080fd5b8063c09d0e0f14610e63578063c0ab870c14610ea8578063c216a26c14610ebe578063cb3617d514610ede578063cb447b3114610efe57600080fd5b8063ab806d23116101f3578063b85bf79e116101b7578063b85bf79e14610da5578063b88a802f14610dba578063b9cd08e714610dcf578063ba0553ae14610def578063bdf752bb14610e0f578063be3601f814610e2f57600080fd5b8063ab806d2314610d0d578063af40224b14610d2d578063b37ce9e414610d43578063b4a8facb14610d63578063b50424ae14610d8357600080fd5b806390059aed1161024557806390059aed14610bfe5780639211aa6c14610c395780639551ae4414610c6d5780639af900ea14610c96578063aa3cc05d14610cd8578063aa8b38d914610ced57600080fd5b80637f009d2c14610b7f57806381d42f5214610b955780638593b2b114610baa5780638b32f8d414610bca5780638da5cb5b14610be057600080fd5b80634db5dfba116103b357806366c67c39116103255780636ec42c2c116102e95780636ec42c2c14610ac5578063715018a614610af457806374de4ec414610b095780637b34011c14610b295780637b9d571e14610b3f5780637deb602514610b5f57600080fd5b806366c67c3914610a2d578063676e027814610a44578063692c7bf714610a5a57806369da132614610a7a5780636b0da22714610ab057600080fd5b806356b3aeaf1161037757806356b3aeaf1461090a578063595ad614146109375780635a2f3d091461095a5780635ca8e3f21461097d5780636386c1c71461099d57806364bb6dd514610a0d57600080fd5b80634db5dfba1461089a5780634e71d92d146108b057806350396c1a146108c557806351c0aacd146108db578063539f2d10146108f557600080fd5b806331d300a51161044c57806340d489581161041057806340d48958146107eb5780634154f768146108015780634451d89f1461082157806348a6ef551461083657806348bfa4901461086357806348e9dbf81461087857600080fd5b806331d300a5146107335780633741454d146107535780633852a4b314610773578063395855e31461078957806339cdaca2146107cb57600080fd5b80631959a0021161049e5780631959a002146105c85780631a26b8be1461065a5780631b967ad4146106925780631bc25cd4146106c85780632294bc55146106de5780632d5c66bd146106f357600080fd5b80630f48cbc3146104e6578063115b80c21461050f578063125bfb661461054c578063139e23b51461056e57806314af779c146105a857600080fd5b366104e157005b600080fd5b3480156104f257600080fd5b506104fc60255481565b6040519081526020015b60405180910390f35b34801561051b57600080fd5b506013546105349061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610506565b34801561055857600080fd5b5061056c61056736600461380d565b6111c2565b005b34801561057a57600080fd5b50600154600354601e546020545b604080519485526020850193909352918301526060820152608001610506565b3480156105b457600080fd5b506104fc6105c3366004613849565b61126e565b3480156105d457600080fd5b506106256105e3366004613849565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154905087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610506565b34801561066657600080fd5b506104fc61067536600461386b565b600860209081526000928352604080842090915290825290205481565b34801561069e57600080fd5b506104fc6106ad366004613849565b6001600160a01b031660009081526007602052604090205490565b3480156106d457600080fd5b506104fc600c5481565b3480156106ea57600080fd5b506104fc6112b4565b3480156106ff57600080fd5b5061072361070e366004613849565b601c6020526000908152604090205460ff1681565b6040519015158152602001610506565b34801561073f57600080fd5b5061053461074e366004613895565b6112d4565b34801561075f57600080fd5b5061056c61076e366004613895565b6112fe565b34801561077f57600080fd5b506104fc60175481565b34801561079557600080fd5b506105886107a4366004613895565b60286020526000908152604090208054600182015460028301546003909301549192909184565b3480156107d757600080fd5b5061056c6107e6366004613895565b61132d565b3480156107f757600080fd5b506104fc600e5481565b34801561080d57600080fd5b5061056c61081c3660046138bc565b61135c565b34801561082d57600080fd5b5061056c611399565b34801561084257600080fd5b506108566108513660046138d9565b611444565b60405161050691906138fb565b34801561086f57600080fd5b506104fc600a81565b34801561088457600080fd5b5061088d6115e9565b604051610506919061399a565b3480156108a657600080fd5b506104fc60125481565b3480156108bc57600080fd5b5061056c61165e565b3480156108d157600080fd5b506104fc60105481565b3480156108e757600080fd5b506013546107239060ff1681565b34801561090157600080fd5b5061056c611670565b34801561091657600080fd5b506104fc610925366004613895565b600a6020526000908152604090205481565b34801561094357600080fd5b50601e54601f546020546021546105889392919084565b34801561096657600080fd5b506001546002546003546004546105889392919084565b34801561098957600080fd5b5061056c6109983660046138d9565b611716565b3480156109a957600080fd5b506109bd6109b8366004613849565b611752565b604080519a8b5260208b0199909952961515978901979097529315156060880152608087019290925260a086015260c085015260e084015261010083019190915261012082015261014001610506565b348015610a1957600080fd5b5061056c610a28366004613895565b611937565b348015610a3957600080fd5b506104fc6201518081565b348015610a5057600080fd5b506104fc60115481565b348015610a6657600080fd5b5061056c610a753660046139ad565b611966565b348015610a8657600080fd5b50610534610a95366004613849565b6006602052600090815260409020546001600160a01b031681565b348015610abc57600080fd5b506104fc6119bb565b348015610ad157600080fd5b50610ae5610ae03660046139e4565b6119dc565b60405161050693929190613a50565b348015610b0057600080fd5b5061056c611c33565b348015610b1557600080fd5b5061056c610b24366004613895565b611ca7565b348015610b3557600080fd5b506104fc60165481565b348015610b4b57600080fd5b5061056c610b5a366004613895565b611cdd565b348015610b6b57600080fd5b5061056c610b7a366004613a93565b611d0c565b348015610b8b57600080fd5b506104fc60185481565b348015610ba157600080fd5b5061056c612277565b348015610bb657600080fd5b50610534610bc536600461386b565b612302565b348015610bd657600080fd5b506104fc60195481565b348015610bec57600080fd5b506000546001600160a01b0316610534565b348015610c0a57600080fd5b50610c1e610c19366004613895565b61233a565b60408051938452602084019290925290820152606001610506565b348015610c4557600080fd5b506104fc7f000000000000000000000000000000000000000000000000000000000000000081565b348015610c7957600080fd5b50610c826123d6565b604051610506989796959493929190613b0f565b348015610ca257600080fd5b50610588610cb1366004613895565b60266020526000908152604090208054600182015460028301546003909301549192909184565b348015610ce457600080fd5b5061088d612774565b348015610cf957600080fd5b5061056c610d0836600461386b565b6127e4565b348015610d1957600080fd5b50601554610534906001600160a01b031681565b348015610d3957600080fd5b506104fc60145481565b348015610d4f57600080fd5b5061056c610d5e366004613895565b612844565b348015610d6f57600080fd5b5061056c610d7e366004613895565b612873565b348015610d8f57600080fd5b50610d986128a2565b6040516105069190613b77565b348015610db157600080fd5b50601d546104fc565b348015610dc657600080fd5b5061056c612904565b348015610ddb57600080fd5b506104fc610dea366004613849565b6129a8565b348015610dfb57600080fd5b5061056c610e0a366004613895565b6129f1565b348015610e1b57600080fd5b5061056c610e2a366004613849565b612a20565b348015610e3b57600080fd5b506105347f000000000000000000000000000000000000000000000000000000000000000081565b348015610e6f57600080fd5b50610e83610e7e366004613849565b612a72565b604080516001600160a01b039094168452602084019290925290820152606001610506565b348015610eb457600080fd5b506104fc600f5481565b348015610eca57600080fd5b5061056c610ed93660046138d9565b612af0565b348015610eea57600080fd5b50610856610ef93660046138d9565b612b2c565b348015610f0a57600080fd5b506104fc610f19366004613849565b612cc7565b348015610f2a57600080fd5b5061056c610f39366004613895565b612d70565b348015610f4a57600080fd5b506104fc601a5481565b348015610f6057600080fd5b506104fc610f6f366004613895565b60096020526000908152604090205481565b348015610f8d57600080fd5b506104fc600d5481565b348015610fa357600080fd5b5061056c610fb2366004613895565b612d9f565b348015610fc357600080fd5b50610723610fd2366004613849565b600b6020526000908152604090205460ff1681565b348015610ff357600080fd5b506104fc601b5481565b34801561100957600080fd5b50611012612dd5565b6040516105069b9a99989796959493929190613b8a565b34801561103557600080fd5b50610c1e611044366004613895565b612e21565b34801561105557600080fd5b50610723611064366004613849565b60236020526000908152604090205460ff1681565b34801561108557600080fd5b50611099611094366004613895565b612e41565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610506565b3480156110d257600080fd5b506105347f000000000000000000000000000000000000000000000000000000000000000081565b34801561110657600080fd5b506104fc60275481565b34801561111c57600080fd5b5061056c61112b366004613895565b612e80565b34801561113c57600080fd5b5061056c61114b366004613bf9565b612eaf565b34801561115c57600080fd5b506104fc60245481565b34801561117257600080fd5b5061056c611181366004613849565b612efd565b34801561119257600080fd5b50610c1e6111a1366004613849565b60226020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146111f55760405162461bcd60e51b81526004016111ec90613c23565b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112689190613c3f565b50505050565b6001600160a01b03811660009081526022602052604081208054156112ae576001810154601f5482546112a19190613c72565b6112ab9190613c8f565b91505b50919050565b6000806112bf6119bb565b90506112ce6201518082613cb8565b91505090565b601d81815481106112e457600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146113285760405162461bcd60e51b81526004016111ec90613c23565b601a55565b6000546001600160a01b031633146113575760405162461bcd60e51b81526004016111ec90613c23565b601b55565b6000546001600160a01b031633146113865760405162461bcd60e51b81526004016111ec90613c23565b6013805460ff1916911515919091179055565b3360006113a582612cc7565b90508015611440576001600160a01b03821660009081526005602052604090206002810154808311156112685760006113de8285613c8f565b9050808360020160008282546113f49190613ccc565b9091555061142590507f00000000000000000000000000000000000000000000000000000000000000008683612fbd565b80601660008282546114379190613ccc565b90915550505050505b5050565b60275460609060009080820361145d5760009150611494565b60006114676119bb565b905060006114786201518083613cb8565b90506114848382613c8f565b61148f906001613ccc565b935050505b818511156114a0578194505b8315806114b557506114b28583613c8f565b84115b156114c7576114c48583613c8f565b93505b8367ffffffffffffffff8111156114e0576114e0613cdf565b60405190808252806020026020018201604052801561153c57816020015b6115296040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001906001900390816114fe5790505b509250600061154b8287613ccc565b9550855b6115598688613ccc565b8110156115df57602860008281526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250508583815181106115b8576115b8613cf5565b6020026020010181905250816115cd90613d0b565b91506115d881613d0b565b905061154f565b5050505092915050565b60408051600a80825261016082019092526060919081602082016101408036833701905050915060005b81811015611659576000818152600a6020526040902054835184908390811061163e5761163e613cf5565b602090810291909101015261165281613d0b565b9050611613565b505090565b611666612904565b61166e611670565b565b33600061167c8261126e565b90508015611440576116af7f00000000000000000000000000000000000000000000000000000000000000008383612fbd565b6001600160a01b0382166000908152602260205260409020601f5481546116d69190613c72565b8160010181905550818160020160008282546116f29190613ccc565b90915550506021805483919060009061170c908490613ccc565b9091555050505050565b6000546001600160a01b031633146117405760405162461bcd60e51b81526004016111ec90613c23565b60009182526009602052604090912055565b6000806000806000806000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a082318c6040518263ffffffff1660e01b81526004016117bc91906001600160a01b0391909116815260200190565b602060405180830381865afa1580156117d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fd9190613d24565b604051636eb1769f60e11b81526001600160a01b038d81166004830152306024830152919b507f00000000000000000000000000000000000000000000000000000000000000009091169063dd62ed3e90604401602060405180830381865afa15801561186e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118929190613d24565b6001600160a01b038c166000908152600b6020908152604080832054601c8352818420546005909352922060010154929b5060ff9182169a5016975095506118d98b612cc7565b6001600160a01b038c16600090815260056020819052604090912060028101546006820154919092015492975090955061191291613c8f565b925061191d8b6129a8565b91506119288b61126e565b90509193959799509193959799565b6000546001600160a01b031633146119615760405162461bcd60e51b81526004016111ec90613c23565b601855565b6000546001600160a01b031633146119905760405162461bcd60e51b81526004016111ec90613c23565b6001600160a01b03919091166000908152602360205260409020805460ff1916911515919091179055565b6024546000906119cd42617080613ccc565b6119d79190613ccc565b905090565b60608060606000611a02876001600160a01b031660009081526007602052604090205490565b905080861115611a10578095505b841580611a255750611a228682613c8f565b85115b15611a3757611a348682613c8f565b94505b8467ffffffffffffffff811115611a5057611a50613cdf565b604051908082528060200260200182016040528015611a79578160200160208202803683370190505b5093508467ffffffffffffffff811115611a9557611a95613cdf565b604051908082528060200260200182016040528015611abe578160200160208202803683370190505b5092508467ffffffffffffffff811115611ada57611ada613cdf565b604051908082528060200260200182016040528015611b03578160200160208202803683370190505b5091506000865b611b148789613ccc565b811015611c27576001600160a01b0389166000908152600760205260408120805483908110611b4557611b45613cf5565b9060005260206000200160009054906101000a90046001600160a01b0316905080878481518110611b7857611b78613cf5565b6001600160a01b039283166020918202929092018101919091529082166000908152600590915260409020548651879085908110611bb857611bb8613cf5565b60200260200101818152505060056000826001600160a01b03166001600160a01b0316815260200190815260200160002060010154858481518110611bff57611bff613cf5565b6020908102919091010152611c1383613d0b565b92505080611c2090613d0b565b9050611b0a565b50505093509350939050565b6000546001600160a01b03163314611c5d5760405162461bcd60e51b81526004016111ec90613c23565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b611cd37f0000000000000000000000000000000000000000000000000000000000000000333084613078565b506114408161321c565b6000546001600160a01b03163314611d075760405162461bcd60e51b81526004016111ec90613c23565b600d55565b60135460ff1615611d475760405162461bcd60e51b8152602060048201526005602482015264706175736560d81b60448201526064016111ec565b600e54421115611d7f5760405162461bcd60e51b8152602060048201526003602482015262195b9960ea1b60448201526064016111ec565b600c54821015611db75760405162461bcd60e51b815260206004820152600360248201526236b4b760e91b60448201526064016111ec565b611de17f000000000000000000000000000000000000000000000000000000000000000083613d3d565b15611e175760405162461bcd60e51b81526020600482015260066024820152651c9c481a5b9d60d21b60448201526064016111ec565b33611e228183613292565b6001600160a01b038082166000908152600660205260408120549091169250829003611e7d5760405162461bcd60e51b815260206004820152600a60248201526939389034b73b34ba37b960b11b60448201526064016111ec565b611ea97f0000000000000000000000000000000000000000000000000000000000000000823086613078565b50600a816000805b8381101561200f576001600160a01b03808416600090815260066020526040902054169550851561200f5760008181526009602052604081205461271090611ef9908a613c72565b611f039190613cb8565b6001600160a01b038816600090815260056020908152604080832054868452600a9092529091205491925090811015611f685782600003611f635788811015611f5e5788611f518383613c72565b611f5b9190613cb8565b91505b611f68565b600091505b604080518481526020810183905283916001600160a01b038b16917fe417c38cb96e748006d0ef1a56fec0de428abac103b6644bc30c745f54f54345910160405180910390a3611fb88285613ccc565b935081600560008a6001600160a01b03166001600160a01b031681526020019081526020016000206005016000828254611ff29190613ccc565b9250508190555087945050508061200890613d0b565b9050611eb1565b5080600f60008282546120229190613ccc565b92505081905550856011600082825461203b9190613ccc565b9091555050601a54600090612710906120549089613c72565b61205e9190613cb8565b9050612069816133d0565b9050806019600082825461207d9190613ccc565b90915550506013546120d3907f00000000000000000000000000000000000000000000000000000000000000009061010090046001600160a01b0316836120c4868c613c8f565b6120ce9190613c8f565b612fbd565b60007f0000000000000000000000000000000000000000000000000000000000000000886014546121049190613c72565b61210e9190613cb8565b905080601260008282546121229190613ccc565b9091555050601254600d5410156121645760405162461bcd60e51b815260206004820152600660248201526572712071747960d01b60448201526064016111ec565b80600160000160008282546121799190613ccc565b909155506121879050612904565b6001600160a01b0386166000908152600560205260408120805490918a918391906121b3908490613ccc565b92505081905550818160010160008282546121ce9190613ccc565b9091555050600254600182015464e8d4a51000916121eb91613c72565b6121f59190613cb8565b6003820155601b546001820154106122105761221087613432565b60007f0000000000000000000000000000000000000000000000000000000000000000601454600c546122439190613c72565b61224d9190613cb8565b9050601254600d5461225f9190613c8f565b81111561226b57426017555b50505050505050505050565b336000818152600560208190526040822060068101549181015490929161229d91613c8f565b905080156122fd576122d07f00000000000000000000000000000000000000000000000000000000000000008483612fbd565b808260060160008282546122e49190613ccc565b92505081905550806010600082825461170c9190613ccc565b505050565b6007602052816000526040600020818154811061231e57600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f846050028161239757612397613ca2565b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b600080606060008060606000807f000000000000000000000000000000000000000000000000000000000000000097507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124889190613d51565b60ff1696507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156124eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125139190810190613d74565b95507f000000000000000000000000000000000000000000000000000000000000000094507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613d51565b60ff1693507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126459190810190613d74565b6040516370a0823160e01b8152600060048201529093504292507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156126b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d49190613d24565b6040516370a0823160e01b815261dead60048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561273a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275e9190613d24565b6127689190613ccc565b90509091929394959697565b60408051600a80825261016082019092526060919081602082016101408036833701905050915060005b818110156116595760008181526009602052604090205483518490839081106127c9576127c9613cf5565b60209081029190910101526127dd81613d0b565b905061279e565b6000546001600160a01b0316331461280e5760405162461bcd60e51b81526004016111ec90613c23565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156122fd573d6000803e3d6000fd5b6000546001600160a01b0316331461286e5760405162461bcd60e51b81526004016111ec90613c23565b602455565b6000546001600160a01b0316331461289d5760405162461bcd60e51b81526004016111ec90613c23565b601455565b6060601d8054806020026020016040519081016040528092919081815260200182805480156128fa57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116128dc575b5050505050905090565b3360008181526005602052604081209061291d836129a8565b905080156122fd576129507f00000000000000000000000000000000000000000000000000000000000000008483612fbd565b600254600183015464e8d4a510009161296891613c72565b6129729190613cb8565b82600301819055508082600401600082825461298e9190613ccc565b90915550506004805482919060009061170c908490613ccc565b6001600160a01b03811660009081526005602052604081206001810154156112ae576003810154600254600183015464e8d4a51000916129e791613c72565b6112a19190613cb8565b6000546001600160a01b03163314612a1b5760405162461bcd60e51b81526004016111ec90613c23565b600c55565b6000546001600160a01b03163314612a4a5760405162461bcd60e51b81526004016111ec90613c23565b601380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b03818116600090815260066020908152604080832054600790925282205492169190600a815b81811015612ae7576001600160a01b0386166000908152600860209081526040808320848452909152902054612ad59084613ccc565b9250612ae081613d0b565b9050612a9f565b50509193909250565b6000546001600160a01b03163314612b1a5760405162461bcd60e51b81526004016111ec90613c23565b6000918252600a602052604090912055565b602554606090600090808203612b455760009150612b7c565b6000612b4f6119bb565b90506000612b606201518083613cb8565b9050612b6c8382613c8f565b612b77906001613ccc565b935050505b81851115612b88578194505b831580612b9d5750612b9a8583613c8f565b84115b15612baf57612bac8583613c8f565b93505b8367ffffffffffffffff811115612bc857612bc8613cdf565b604051908082528060200260200182016040528015612c2457816020015b612c116040518060800160405280600081526020016000815260200160008152602001600081525090565b815260200190600190039081612be65790505b5092506000612c338287613ccc565b9550855b612c418688613ccc565b8110156115df5760266000828152602001908152602001600020604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050858381518110612ca057612ca0613cf5565b602002602001018190525081612cb590613d0b565b9150612cc081613d0b565b9050612c37565b601754600090808203612cd95750600e545b42811580612ce657508181105b15612cf5575060009392505050565b6001600160a01b03841660009081526005602052604081206001810154919450908015612d675762015180612d2a8585613c8f565b61271060185484612d3b9190613c72565b612d459190613cb8565b612d4f9190613c72565b612d599190613cb8565b945080851115612d67578094505b50505050919050565b6000546001600160a01b03163314612d9a5760405162461bcd60e51b81526004016111ec90613c23565b600e55565b612dcb7f0000000000000000000000000000000000000000000000000000000000000000333084613078565b50611440816133d0565b601354601454600e54600c54600d54601254601854601754601554601b5460ff909916989596956001600160a01b03909116906060612e12612774565b9050909192939495969798999a565b60008080612e3462015180855b0461233a565b9196909550909350915050565b60008080808080612e556201518088612e2e565b91999098919750610e10620151809092068281049750603c9290068281049650919091069350915050565b6000546001600160a01b03163314612eaa5760405162461bcd60e51b81526004016111ec90613c23565b601755565b3360008181526023602052604090205460ff16612ef35760405162461bcd60e51b81526020600482015260026024820152614e4160f01b60448201526064016111ec565b6122fd8383613292565b6000546001600160a01b03163314612f275760405162461bcd60e51b81526004016111ec90613c23565b6001600160a01b038116612f625760405162461bcd60e51b815260206004820152600260248201526106e360f41b60448201526064016111ec565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80600003612fca57505050565b6040516370a0823160e01b8152306004820152839082906001600160a01b038316906370a0823190602401602060405180830381865afa158015613012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130369190613d24565b101561306d5760405162461bcd60e51b81526004016111ec9060208082526004908201526350544e4560e01b604082015260600190565b61126884848461351a565b6040516370a0823160e01b81526001600160a01b03848116600483015260009186918491908316906370a0823190602401602060405180830381865afa1580156130c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ea9190613d24565b101561311e5760405162461bcd60e51b8152602060048201526003602482015262544e4560e81b60448201526064016111ec565b6040516370a0823160e01b81526001600160a01b038581166004830152600091908316906370a0823190602401602060405180830381865afa158015613168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061318c9190613d24565b905061319a8787878761361a565b6040516370a0823160e01b81526001600160a01b0386811660048301528291908416906370a0823190602401602060405180830381865afa1580156131e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132079190613d24565b6132119190613c8f565b979650505050505050565b6000808211801561322e575060015415155b1561328d576001546132458364e8d4a51000613c72565b61324f9190613cb8565b60028054600090613261908490613ccc565b90915550506003805483919060009061327b908490613ccc565b9091555082915061328d905081613724565b919050565b6001600160a01b0382166000908152600b602052604090205460ff16611440576001600160a01b0381166000908152600b602052604090205460ff16156133a9576001600160a01b03808316600081815260066020908152604080832080549587166001600160a01b0319968716811790915583526007825282208054600181018255908352908220018054909316909117909155600a9083905b828110156133a5576001600160a01b0380831660009081526006602052604090205416935083156133a5576001600160a01b0384166000908152600860209081526040808320848452909152812080546001929061338c908490613ccc565b9091555084925061339e905081613d0b565b905061332d565b5050505b6001600160a01b0382166000908152600b60205260409020805460ff191660011790555050565b600080821180156133e25750601e5415155b1561328d5781905081601e60020160008282546133ff9190613ccc565b9091555050601e546134119083613cb8565b601f8054600090613423908490613ccc565b9091555061328d9050826137a6565b6001600160a01b0381166000908152601c602052604090205460ff16613517576001600160a01b0381166000818152601c60205260408120805460ff19166001908117909155601d805480830182559083527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f0180546001600160a01b031916909317909255601e80549091906134ca908490613ccc565b90915550506001600160a01b0381166000908152602260205260408120805490916001918391906134fc908490613ccc565b9091555050601f5481546135109190613c72565b6001909101555b50565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291516000928392908716916135769190613e16565b6000604051808303816000865af19150503d80600081146135b3576040519150601f19603f3d011682016040523d82523d6000602084013e6135b8565b606091505b50915091508180156135e25750805115806135e25750808060200190518101906135e29190613c3f565b6136135760405162461bcd60e51b81526020600482015260026024820152612a2360f11b60448201526064016111ec565b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161367e9190613e16565b6000604051808303816000865af19150503d80600081146136bb576040519150601f19603f3d011682016040523d82523d6000602084013e6136c0565b606091505b50915091508180156136ea5750805115806136ea5750808060200190518101906136ea9190613c3f565b61371c5760405162461bcd60e51b81526020600482015260036024820152622a2a2360e91b60448201526064016111ec565b505050505050565b600061372e6119bb565b9050600061373f6201518083613cb8565b90506027546000036137515760278190555b600081815260286020526040812060038101805491928692613774908490613ccc565b9091555050805460000361126857600080600061379086612e21565b9186556001860155600285015550505050505050565b60006137b06119bb565b905060006137c16201518083613cb8565b90506025546000036137d35760258190555b600081815260266020526040812060038101805491928692613774908490613ccc565b80356001600160a01b038116811461328d57600080fd5b60008060006060848603121561382257600080fd5b61382b846137f6565b9250613839602085016137f6565b9150604084013590509250925092565b60006020828403121561385b57600080fd5b613864826137f6565b9392505050565b6000806040838503121561387e57600080fd5b613887836137f6565b946020939093013593505050565b6000602082840312156138a757600080fd5b5035919050565b801515811461351757600080fd5b6000602082840312156138ce57600080fd5b8135613864816138ae565b600080604083850312156138ec57600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b8281101561395257815180518552868101518786015285810151868601526060908101519085015260809093019290850190600101613918565b5091979650505050505050565b600081518084526020808501945080840160005b8381101561398f57815187529582019590820190600101613973565b509495945050505050565b602081526000613864602083018461395f565b600080604083850312156139c057600080fd5b6139c9836137f6565b915060208301356139d9816138ae565b809150509250929050565b6000806000606084860312156139f957600080fd5b613a02846137f6565b95602085013595506040909401359392505050565b600081518084526020808501945080840160005b8381101561398f5781516001600160a01b031687529582019590820190600101613a2b565b606081526000613a636060830186613a17565b8281036020840152613a75818661395f565b90508281036040840152613a89818561395f565b9695505050505050565b60008060408385031215613aa657600080fd5b82359150613ab6602084016137f6565b90509250929050565b60005b83811015613ada578181015183820152602001613ac2565b50506000910152565b60008151808452613afb816020860160208601613abf565b601f01601f19169290920160200192915050565b6001600160a01b0389811682526020820189905261010060408301819052600091613b3c8483018b613ae3565b915080891660608501525086608084015282810360a0840152613b5f8187613ae3565b60c0840195909552505060e001529695505050505050565b6020815260006138646020830184613a17565b60006101608d151583528c60208401528b60408401528a60608401528960808401528860a08401528760c08401528660e084015260018060a01b0386166101008401528461012084015280610140840152613be78184018561395f565b9e9d5050505050505050505050505050565b60008060408385031215613c0c57600080fd5b613c15836137f6565b9150613ab6602084016137f6565b602080825260029082015261216f60f01b604082015260600190565b600060208284031215613c5157600080fd5b8151613864816138ae565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417613c8957613c89613c5c565b92915050565b81810381811115613c8957613c89613c5c565b634e487b7160e01b600052601260045260246000fd5b600082613cc757613cc7613ca2565b500490565b80820180821115613c8957613c89613c5c565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201613d1d57613d1d613c5c565b5060010190565b600060208284031215613d3657600080fd5b5051919050565b600082613d4c57613d4c613ca2565b500690565b600060208284031215613d6357600080fd5b815160ff8116811461386457600080fd5b600060208284031215613d8657600080fd5b815167ffffffffffffffff80821115613d9e57600080fd5b818401915084601f830112613db257600080fd5b815181811115613dc457613dc4613cdf565b604051601f8201601f19908116603f01168101908382118183101715613dec57613dec613cdf565b81604052828152876020848701011115613e0557600080fd5b613211836020830160208801613abf565b60008251613e28818460208701613abf565b919091019291505056fea2646970667358221220b910bde026a56ff8f5411521a76c7c0959f4c50d594a749f544ed884d9009e0564736f6c63430008130033