135 txs
138 calls
constructor
constructor(address _owner, address _E369_NFT, address _devWallet, uint256 _minCyclePool)
functions
_getEndCycleForCycle777
purefunction _getEndCycleForCycle777(uint32 cycle777Id) pure returns (uint32)
_getNextCyclePool
viewfunction _getNextCyclePool(address token) view returns (uint256)
_getStartCycleForCycle777
purefunction _getStartCycleForCycle777(uint32 cycle777Id) pure returns (uint32)
cycle777AmountClaimed
viewfunction cycle777AmountClaimed(uint256 tokenId, address token) view returns (uint256)
cycle777BackingClaimed
viewfunction cycle777BackingClaimed(uint256 tokenId, address token) view returns (uint256)
cycles
viewfunction cycles(uint256 id) view returns (bool initialized, uint256 infernoPerMulitplier, uint256 fluxPerMultiplier, uint256 e280PerMultiplier)
cycles777
viewfunction cycles777(uint256 id) view returns (uint32 startCycleId, uint32 endCycleId, uint256 multiplierPool, uint256 infernoPool, uint256 e280Pool)
devWallet
viewfunction devWallet() view returns (address)
E369_NFT
viewfunction E369_NFT() view returns (address)
FluxHub
viewfunction FluxHub() view returns (address)
get777Rewards
viewfunction get777Rewards(uint256[] tokenIds, address account, bool isBacking) view returns (bool[] availability, bool[] burned, uint256 infernoPool, uint256 e280Pool)
getCurrentCycle777
viewfunction getCurrentCycle777() view returns (uint32)
getCurrentE369Cycle
viewfunction getCurrentE369Cycle() view returns (uint32)
getNextCyclePools
viewfunction getNextCyclePools() view returns (uint256 infernoPool, uint256 fluxPool, uint256 e280Pool)
getRewards
viewfunction getRewards(uint256[] tokenIds, address account, bool isBacking) view returns (bool[] availability, bool[] burned, uint256 infernoPool, uint256 fluxPool, uint256 e280Pool)
lastUpdatedCycle
viewfunction lastUpdatedCycle() view returns (uint32)
minCyclePool
viewfunction minCyclePool() view returns (uint256)
nftLastBacking
viewfunction nftLastBacking(uint256 tokenId) view returns (uint32)
nftLastClaim
viewfunction nftLastClaim(uint256 tokenId) view returns (uint32)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
totalTokenPaid
viewfunction totalTokenPaid(address token) view returns (uint256)
totalTokenPool
viewfunction totalTokenPool(address token) view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
claim777Backing
nonpayablefunction claim777Backing(uint256[] tokenIds)
claim777Rewards
nonpayablefunction claim777Rewards(uint256[] tokenIds)
claimBacking
nonpayablefunction claimBacking(uint256[] tokenIds)
claimRewards
nonpayablefunction claimRewards(uint256[] tokenIds)
register777CycleTokens
nonpayablefunction register777CycleTokens(uint256 infernoAmount, uint256 e280Amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setFluxHub
nonpayablefunction setFluxHub(address fluxHub)
setMinCyclePool
nonpayablefunction setMinCyclePool(uint256 limit)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateCycle
nonpayablefunction updateCycle()
updateStoredMultipliers
nonpayablefunction updateStoredMultipliers(uint32 cycleId, uint256 totalMultipliers)
updateStoredMultipliersOnBurn
nonpayablefunction updateStoredMultipliersOnBurn(uint32 cycleId, uint256 totalMultipliers, uint256 multiplierDeduction)
events
CycleUpdated
event CycleUpdated()
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CycleCooldown
error CycleCooldown()
FailedInnerCall
error FailedInnerCall()
NoAllocation
error NoAllocation()
NoCyclesAvailable
error NoCyclesAvailable()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
Prohibited
error Prohibited()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TokenExists
error TokenExists()
Unauthorized
error Unauthorized()
ZeroAddress
error ZeroAddress()
ZeroInput
error ZeroInput()
creation bytecode
0x60a060405234610316576040516000906130903881900390601f8201601f191683016001600160401b0381118482101761030257918084926080946040528339810103126102fe576100508161031b565b9061005d6020820161031b565b90606061006c6040830161031b565b910151926001600160a01b031680156102ea57600180546001600160a01b03199081169091558554908116821786556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a36001600160a01b038216156102db576001600160a01b03169081156102db5782156102cc57608052600380546001600160a01b0319169190911790556006555063ffffffff6101176005610347565b168060005260086020526040600020600160ff1982541617905563ffffffff19600754161760075560005b63ffffffff8116600481101561026e5761015b82610360565b63ffffffff61018491160163ffffffff811161025857600b63ffffffff610183921604610347565b91600b63ffffffff61019c6101978461032f565b610360565b6040519116919091049360a08201936001600160401b038511838610176102425763ffffffff95866003936001976040521684528660208501911681526040840160008152606085019160008352608086019360008552600052600960205288604060002096511689198754161786555167ffffffff0000000086549160201b169067ffffffff0000000019161785555186850155516002840155519101550116610142565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b604051612d14908161037c82396080518181816105180152818161093e01528181610f5d015281816112a00152818161162e015281816118630152818161193601528181611b9c01528181611d41015281816124cd01526127f50152f35b63af458c0760e01b8452600484fd5b63d92e233d60e01b8452600484fd5b631e4fbdf760e01b85526004859052602485fd5b5080fd5b634e487b7160e01b85526041600452602485fd5b600080fd5b51906001600160a01b038216820361031657565b63ffffffff60019116019063ffffffff821161025857565b63ffffffff6000199116019063ffffffff821161025857565b63ffffffff16610309029063ffffffff82169182036102585756fe6080604052600436101561001257600080fd5b60003560e01c80630141a57a14611ec85780630986974c14611e965780630c5f800b14611e6d57806311c1eb1914611e4257806312165f0c14611e245780631e71ae4514611dea5780632121c9ec14611d8b5780633c9c09e414611d705780634128f5aa14611d2b57806341b4729614611ce35780634381245e14611ca657806348d24d6f14611bec5780634d558b1614611b81578063552febc414611b39578063569173e514611ae35780635bc9983f14611aa95780635eac6239146118db57806370677bbb14611848578063715018a6146117e3578063718a072a146115d257806379ba5097146115495780637d8dbb2d1461152e578063819a1ce1146112315780638da5cb5b146112085780638ea5220f146111df5780639d152333146111bb5780639dd7b5e814610f095780639e39020814610c6f578063afbce3b914610c1c578063b04a710b146108bf578063c02b5a3014610866578063c65af622146102a3578063d22c107c1461027c578063e30c397814610253578063ee0ebe83146102215763f2fde38b146101a857600080fd5b3461021c57602036600319011261021c576101c1611ee9565b6101c9612856565b60018060a01b0316806bffffffffffffffffffffffff60a01b600154161760015560018060a01b03600054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b600080fd5b3461021c57602036600319011261021c57600435600052600d602052602063ffffffff60406000205416604051908152f35b3461021c57600036600319011261021c576001546040516001600160a01b039091168152602090f35b3461021c57604036600319011261021c576102a1610298611f15565b602435906127f3565b005b3461021c57600036600319011261021c576102c46102bf61224e565b6122e0565b63ffffffff600754169063ffffffff8116918211156108555763ffffffff6102ed600b92612236565b160263ffffffff81169081036107455760020163ffffffff81116107455760405163175c979560e31b81526366f04d10600482015260208160248173bbf25ca275325ef4682851a12bd8e9aa714da2f45af480156107905761035f63ffffffff92918392600091610826575b50612236565b9216911611610815576040516370a0823160e01b8152306004820152602081602481600080516020612c9f8339815191525afa908115610790576000916107e1575b50600080516020612c9f83398151915260005260056020527f716ed12aa20687073ab53ea8bfc46489f03ed8697cdebecb84d6fe38d3f0d9e154610428916103e9919061204f565b600080516020612c9f83398151915260005260046020527f70ccdeab7328961c36c77ddecc46ad6a6aac491c7eb8df81afc289c4eb1560ca549061205c565b600654811061079c57610439612069565b6040516370a0823160e01b8152306004820152602081602481600080516020612cbf8339815191525afa908115610790576000916107ad575b50600080516020612cbf83398151915260005260056020527f45814dfb781b0bb5afdb4b1c36e1e17ad6ce8a65e36fd2d9882761363d5ad1ce546104f9916104ba919061204f565b600080516020612cbf83398151915260005260046020527f7823bd3e01a58622d87c9b03df889ad69baf9d9df0ac26e436a600186ea65336549061205c565b90600654821061079c57604051631947150d60e21b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156107905760009161075b575b506000670de0b6b3a76400008502858104670de0b6b3a764000014861517156106ca578260011b928084046002149015171591826106b65750826105949161245c565b94600080516020612c9f83398151915260005260046020526105bc604060002091825461204f565b905560009280159081156106de575b50506000670de0b6b3a7640000850291858304670de0b6b3a764000014861517156106ca576106b6575060039392916106039161245c565b91600080516020612cbf833981519152600052600460205261062b604060002091825461204f565b90556040519361063a85612011565b6001855260208501908152604085019182526060850192835285600052600860205260406000209451151560ff801987541691161785555160018501555160028401555191015563ffffffff1960075416176007557f660465679b26507e49dd0ba2ed076b0f87ed6197141d45e8b75afc3ae2f1026f600080a1005b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b82526011600452602482fd5b91509250670de0b6b3a7640000810292818404670de0b6b3a76400001417156107455761070d8260009461245c565b9073bfde5ac4f5adb419a931a5bf64b0f3bb5a623d06600052600460205261073b604060002091825461204f565b90559186806105cb565b634e487b7160e01b600052601160045260246000fd5b906020823d602011610788575b816107756020938361202d565b8101031261078557505185610551565b80fd5b3d9150610768565b6040513d6000823e3d90fd5b632fc532ad60e11b60005260046000fd5b90506020813d6020116107d9575b816107c86020938361202d565b8101031261021c57516104ba610472565b3d91506107bb565b90506020813d60201161080d575b816107fc6020938361202d565b8101031261021c57516103e96103a1565b3d91506107ef565b632b0039c760e21b60005260046000fd5b610848915060203d60201161084e575b610840818361202d565b81019061221a565b86610359565b503d610836565b631a70c9a160e21b60005260046000fd5b3461021c57602036600319011261021c57610887610882611f15565b6122c5565b63ffffffff61018491160163ffffffff8111610745576108b1600b63ffffffff60209316046122e0565b63ffffffff60405191168152f35b3461021c57602036600319011261021c5760043567ffffffffffffffff811161021c576108f0903690600401611f28565b908115610c0b5763ffffffff610904612785565b168015610bfa5761091361224e565b9060009360009360405192626cf0a360e91b84526000848061093a338787600485016123bd565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa93841561079057600094610bd5575b50939291906000969596945b82861061099e576102a188610998893361299f565b336129e3565b9091929394956109ae878661241f565b5163ffffffff8160181c169163ffffffff8260381c16801515600014610bca5761ffff90925b60081c1663ffffffff6109e88b89896123f9565b356000818152600a60209081526040808320600080516020612c9f833981519152845290915280822054600080516020612cbf83398151915283529082205497929690949193919284928392165b8a8310610b02575b50505081670de0b6b3a7640000610a598194610a6094612449565b0493612449565b04908281148015610af9575b61079c57600195610ada610ae694610ae09388610aec99600052600a6020526040600020600080516020612c9f83398151915260005260205281604060002055600052600a6020526040600020600080516020612cbf8339815191526000526020528560406000205561205c565b9261205c565b9261204f565b9961204f565b9796019493929190610983565b50858214610a6c565b909194856000526009602052604060002060405194610b2086611fdf565b8154606063ffffffff80831692838a5260201c16918260208a01526001850154926080600360408c01978689528c6002820154968791015201549a01998a528315908115610bc0575b50610bb4578711610ba65792610b9260019593610b8c610b8c94610b9c9761286a565b9061204f565b975190519061286a565b955b019190610a36565b505094505094600190610b9e565b50505094505094610a3e565b9050871038610b69565b5061ffff88926109d4565b610bf39194503d806000833e610beb818361202d565b810190612343565b9287610977565b63e6097abf60e01b60005260046000fd5b63af458c0760e01b60005260046000fd5b3461021c57602036600319011261021c5760043560005260086020526080604060002060ff8154169060018101549060036002820154910154916040519315158452602084015260408301526060820152f35b3461021c57600036600319011261021c576040516370a0823160e01b8152306004820152602081602481600080516020612c9f8339815191525afa90811561079057600091610ed5575b50600080516020612c9f83398151915260005260056020527f716ed12aa20687073ab53ea8bfc46489f03ed8697cdebecb84d6fe38d3f0d9e154610d01916103e9919061204f565b6040516370a0823160e01b815230600482015260208160248173bfde5ac4f5adb419a931a5bf64b0f3bb5a623d065afa90811561079057600091610ea1575b5073bfde5ac4f5adb419a931a5bf64b0f3bb5a623d0660005260056020527f66585d6c9c98c299799d0a641522b0a53288fc5e2110218d560067a7038ce2bf54610dd391610d8e919061204f565b73bfde5ac4f5adb419a931a5bf64b0f3bb5a623d0660005260046020527f1dfe1ad097beddaffcbaec04ffd40039246299c83675121d1ea88a2dfd895d39549061205c565b6040516370a0823160e01b81523060048201529190602083602481600080516020612cbf8339815191525afa92831561079057600093610e6b575b50600080516020612cbf83398151915260005260056020527f45814dfb781b0bb5afdb4b1c36e1e17ad6ce8a65e36fd2d9882761363d5ad1ce54606093610e58916104ba9161204f565b9060405192835260208301526040820152f35b92506020833d602011610e99575b81610e866020938361202d565b8101031261021c57915191610e58610e0e565b3d9150610e79565b90506020813d602011610ecd575b81610ebc6020938361202d565b8101031261021c5751610d8e610d40565b3d9150610eaf565b90506020813d602011610f01575b81610ef06020938361202d565b8101031261021c57516103e9610cb9565b3d9150610ee3565b3461021c57610f1736611f59565b600091600094859285156111ac57610f5990610f3287612311565b9688610f3d82612311565b9560405180958192626cf0a360e91b83528589600485016123bd565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156111a1578993611185575b50885b818110610fe057610fbe8989898d610fcc8b60405196879660a0885260a0880190611fa9565b908682036020880152611fa9565b926040850152606084015260808301520390f35b610feb8183876123f9565b35610ff6828661241f565b5163ffffffff8160381c1661ffff8260081c16918115159384611019878d61241f565b526000881561116c5750600052600d60205263ffffffff60406000205416905b63ffffffff82166111655763ffffffff915060181c16905b831561114d57905b63ffffffff8116938d63ffffffff841686109187838b60001461114257611087928161113a575b509261241f565b901515905261109d575b50505050600101610f98565b63ffffffff916110b3919e93949e9b959b612b1f565b16996000809b60009e905b8082106110f057505091670de0b6b3a7640000848093826001989781970204019d0204019c02040196908b8080611091565b909e8f9d906001918f94856000526008602052836040600020015401946000526008602052600260406000200154019e6000526008602052600360406000200154019f01906110be565b905038611080565b61108792509261241f565b5061115f63ffffffff60075416612236565b90611059565b5090611051565b8063ffffffff9260409252600c60205220541690611039565b61119a9193503d808b833e610beb818361202d565b9189610f95565b6040513d8b823e3d90fd5b63af458c0760e01b8752600487fd5b3461021c57600036600319011261021c57602063ffffffff60075416604051908152f35b3461021c57600036600319011261021c576003546040516001600160a01b039091168152602090f35b3461021c57600036600319011261021c576000546040516001600160a01b039091168152602090f35b3461021c57602036600319011261021c5760043567ffffffffffffffff811161021c57611262903690600401611f28565b8015610c0b5763ffffffff611275612785565b16908115610bfa57604051626cf0a360e91b81526000818061129c338689600485016123bd565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561079057600091611513575b5091906000926000946000935b838510611301576102a1876112fb8833612a25565b33612aa2565b9091929394611310868561241f565b519063ffffffff8260181c169063ffffffff8360381c169283156115025761ffff9060089493941c16916113458989886123f9565b356000818152600b60209081526040808320600080516020612c9f833981519152845290915280822054600080516020612cbf833981519152835290822054969295909391929091839182915b8a831061144a575b50505081670de0b6b3a7640000610a5981946113b594612449565b04908281148015611441575b61079c57600195610ada61142f94610ae0938861143599600052600b6020526040600020600080516020612c9f83398151915260005260205281604060002055600052600b6020526040600020600080516020612cbf8339815191526000526020528560406000205561205c565b9861204f565b969501939291906112e6565b508582146113c1565b90919485600052600960205260406000206040519461146886611fdf565b8154606063ffffffff80831692838a5260201c16918260208a01526001850154926080600360408c01978689528c6002820154968791015201549a01998a5283159081156114f8575b506114ec5787116114de5792610b9260019593610b8c610b8c946114d49761286a565b955b019190611392565b5050945050946001906114d6565b5050509450509461139a565b90508710386114b1565b632ae3f45d60e11b60005260046000fd5b61152891503d806000833e610beb818361202d565b846112d9565b3461021c57600036600319011261021c5760206108b1612785565b3461021c57600036600319011261021c57600154336001600160a01b03909116036115bd57600180546001600160a01b03199081169091556000805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b6000523360045260246000fd5b3461021c57602036600319011261021c5760043567ffffffffffffffff811161021c57611603903690600401611f28565b908115610c0b57604051626cf0a360e91b8152906000828061162a338786600485016123bd565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610790576000926117c6575b506000926000916000936000925b80841061171e576102a1866112fb611703886116918c33612a25565b73bfde5ac4f5adb419a931a5bf64b0f3bb5a623d06600052600560205260406000206116be82825461204f565b905560648104906116fe60646116d383612433565b60035491900493906001600160a01b031673bfde5ac4f5adb419a931a5bf64b0f3bb5a623d06612b53565b61205c565b3373bfde5ac4f5adb419a931a5bf64b0f3bb5a623d06612b53565b9091929561172d8783866123f9565b3596611739818561241f565b519163ffffffff8360381c16801561150257611792610ae6611788611798936001978e600052600d60205263ffffffff604060002054169063ffffffff61ffff8260081c169160181c166128a8565b949190929661204f565b9a61204f565b98600052600d60205263ffffffff6040600020911663ffffffff198254161790550192919095949395611675565b6117dc9192503d806000833e610beb818361202d565b9083611667565b3461021c57600036600319011261021c576117fc612856565b600180546001600160a01b0319908116909155600080549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461021c57606036600319011261021c57611861611f15565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036118cb5763ffffffff1660005260096020526001604060002001805480156000146118ba57506024359055005b6118c7906044359061205c565b9055005b6282b42960e81b60005260046000fd5b3461021c57602036600319011261021c5760043567ffffffffffffffff811161021c5761190c903690600401611f28565b8015610c0b57604051626cf0a360e91b81529160008380611932338686600485016123bd565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa92831561079057600093611a8c575b509160009260009160009360005b8181106119e0576102a186610998876119968b3361299f565b73bfde5ac4f5adb419a931a5bf64b0f3bb5a623d06600052600560205260406000206119c382825461204f565b90553373bfde5ac4f5adb419a931a5bf64b0f3bb5a623d06612b53565b806119f160019284879a999a6123f9565b3596611a4a611792611792611788611a09868a61241f565b51603881901c63ffffffff168015611a7457905b8d600052600c60205263ffffffff604060002054169063ffffffff61ffff8260081c169160181c166128a8565b97600052600c60205263ffffffff6040600020911663ffffffff198254161790550195939561197d565b50611a8663ffffffff60075416612236565b90611a1d565b611aa29193503d806000833e610beb818361202d565b918361196f565b3461021c57602036600319011261021c576001600160a01b03611aca611ee9565b1660005260046020526020604060002054604051908152f35b3461021c57611b1c611b2a611b03611afa36611f59565b9291909161247c565b9160409491939451958695608087526080870190611fa9565b908582036020870152611fa9565b91604084015260608301520390f35b3461021c57604036600319011261021c57611b52611eff565b600435600052600a60205260406000209060018060a01b03166000526020526020604060002054604051908152f35b3461021c57602036600319011261021c57611b9a611ee9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036118cb57600280546001600160a01b0319166001600160a01b0392909216919091179055005b3461021c57604036600319011261021c5760025460243590600435906001600160a01b031633036118cb5763ffffffff611c276102bf612785565b1660005260096020526003604060002060028101611c4684825461204f565b905501611c5483825461204f565b9055600080516020612c9f8339815191526000526004602052611c7d604060002091825461204f565b9055600080516020612cbf83398151915260005260046020526118c7604060002091825461204f565b3461021c57602036600319011261021c576020600b63ffffffff611cd3610882611cce611f15565b612236565b160463ffffffff60405191168152f35b3461021c57604036600319011261021c57611cfc611eff565b600435600052600b60205260406000209060018060a01b03166000526020526020604060002054604051908152f35b3461021c57600036600319011261021c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461021c57600036600319011261021c5760206108b161224e565b3461021c57602036600319011261021c57600435600052600960205260a06040600020805490600181015490600360028201549101549163ffffffff60405194818116865260201c166020850152604084015260608301526080820152f35b3461021c57602036600319011261021c576001600160a01b03611e0b611ee9565b1660005260056020526020604060002054604051908152f35b3461021c57600036600319011261021c576020600654604051908152f35b3461021c57602036600319011261021c576020611e65611e60611ee9565b61213c565b604051908152f35b3461021c57600036600319011261021c576002546040516001600160a01b039091168152602090f35b3461021c57602036600319011261021c57600435600052600c602052602063ffffffff60406000205416604051908152f35b3461021c57602036600319011261021c57611ee1612856565b600435600655005b600435906001600160a01b038216820361021c57565b602435906001600160a01b038216820361021c57565b6004359063ffffffff8216820361021c57565b9181601f8401121561021c5782359167ffffffffffffffff831161021c576020808501948460051b01011161021c57565b606060031982011261021c576004359067ffffffffffffffff821161021c57611f8491600401611f28565b90916024356001600160a01b038116810361021c5790604435801515810361021c5790565b906020808351928381520192019060005b818110611fc75750505090565b82511515845260209384019390920191600101611fba565b60a0810190811067ffffffffffffffff821117611ffb57604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff821117611ffb57604052565b90601f8019910116810190811067ffffffffffffffff821117611ffb57604052565b9190820180921161074557565b9190820391821161074557565b6040516370a0823160e01b815230600482015260208160248173bfde5ac4f5adb419a931a5bf64b0f3bb5a623d065afa90811561079057600091612108575b5073bfde5ac4f5adb419a931a5bf64b0f3bb5a623d0660005260056020527f66585d6c9c98c299799d0a641522b0a53288fc5e2110218d560067a7038ce2bf546120f691610d8e919061204f565b60065481106121025790565b50600090565b90506020813d602011612134575b816121236020938361202d565b8101031261021c5751610d8e6120a8565b3d9150612116565b6040516370a0823160e01b81523060048201526001600160a01b039190911690602081602481855afa908115610790576000916121e6575b506121916121a6918360005260056020526040600020549061204f565b8260005260046020526040600020549061205c565b9060065482106121b4575090565b73bfde5ac4f5adb419a931a5bf64b0f3bb5a623d069150146121e157632fc532ad60e11b60005260046000fd5b600090565b90506020813d602011612212575b816122016020938361202d565b8101031261021c5751612191612174565b3d91506121f4565b9081602091031261021c575163ffffffff8116810361021c5790565b63ffffffff60019116019063ffffffff821161074557565b60405163175c979560e31b81526366f04d10600482015260208160248173bbf25ca275325ef4682851a12bd8e9aa714da2f45af48015610790576122a163ffffffff91600b936000916122a65750612236565b160490565b6122bf915060203d60201161084e57610840818361202d565b38610359565b63ffffffff16610309029063ffffffff821691820361074557565b63ffffffff6000199116019063ffffffff821161074557565b67ffffffffffffffff8111611ffb5760051b60200190565b9061231b826122f9565b612328604051918261202d565b8281528092612339601f19916122f9565b0190602036910137565b60208183031261021c5780519067ffffffffffffffff821161021c57019080601f8301121561021c578151612377816122f9565b92612385604051948561202d565b81845260208085019260051b82010192831161021c57602001905b8282106123ad5750505090565b81518152602091820191016123a0565b60408082528101839052929392916001600160fb1b03811161021c5760209160609160051b8091838601378301019360018060a01b0316910152565b91908110156124095760051b0190565b634e487b7160e01b600052603260045260246000fd5b80518210156124095760209160051b010190565b9060038202918083046003149015171561074557565b8181029291811591840414171561074557565b8115612466570490565b634e487b7160e01b600052601260045260246000fd5b9190936000926000928615610c0b576124c99061249888612311565b976124a281612311565b9760006124ad61224e565b9360405180968192626cf0a360e91b8352868a600485016123bd565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa93841561079057600094612768575b5063ffffffff612514612785565b1691600183106127595760005b8181106125315750505050505050565b8b8b61253e83858b6123f9565b35612549848a61241f565b51908463ffffffff8360181c169261ffff63ffffffff8260381c169160081c169461257882151593849261241f565b52811561275157935b6000809360008b60001461273f5750600052600b602052604060002094955b600080516020612c9f8339815191526000528560205260406000205495600080516020612cbf833981519152600052602052604060002054966000915b8d8310612681575b50505081670de0b6b3a7640000612600819461260794612449565b0494612449565b04948383119182612677575b87838b1561266c5761262b928161113a57509261241f565b9015159052612641575b50505050600101612521565b9161265c612662949e610b8c6001979f9594610b8c9561205c565b9d61205c565b9890388080612635565b61262b92509261241f565b8587119250612613565b90919586600052600960205260406000206040519461269f86611fdf565b8154606063ffffffff80831692838a5260201c16918260208a01526001850154926080600360408c01978689528c6002820154968791015201549a01998a52831590811561272f575b506127235787116127155792610b9260019593610b8c610b8c9461270b9761286a565b965b0191906125dd565b50509450509560019061270d565b505050945050956125e5565b905063ffffffff881610386126e8565b6040918152600a6020522094956125a0565b508993612581565b50600097508796505050505050565b61277e9194503d806000833e610beb818361202d565b9238612506565b60405163175c979560e31b81526366f04d10600482015260208160248173bbf25ca275325ef4682851a12bd8e9aa714da2f45af48015610790576127d963ffffffff91610309936000916122a65750612236565b1604600463ffffffff821611156127f05750600490565b90565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036118cb5763ffffffff16806000526009602052600160406000200154612852576000526009602052600160406000200155565b5050565b6000546001600160a01b031633036115bd57565b90670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610745578060011b9080820460021490151715610745576127f09161245c565b92939060009060009460009463ffffffff81161560001461299857505b63ffffffff81169663ffffffff81168814610bfa576128e391612b1f565b9563ffffffff87165b808210612923575050612918670de0b6b3a764000061260081948261ffff61291f961694858093612449565b0498612449565b0490565b909495926060908660005260086020526040600020906040519061294682612011565b60ff8354161580158352600184015492836020820152600360028601549586604084015201549586910152612989579060019392910195019701955b01906128ec565b95989791505060019150612982565b90506128c5565b906129e191600080516020612c9f833981519152600052600560205260406000206129cb83825461204f565b9055600080516020612c9f833981519152612b53565b565b906129e191600080516020612cbf83398151915260005260056020526040600020612a0f83825461204f565b9055600080516020612cbf833981519152612b53565b612a8d6129e192600080516020612c9f83398151915260005260056020526040600020612a5382825461204f565b905560648104906116fe6064612a6883612433565b60035491900493906001600160a01b0316600080516020612c9f833981519152612b53565b90600080516020612c9f833981519152612b53565b612b0a6129e192600080516020612cbf83398151915260005260056020526040600020612ad082825461204f565b905560648104906116fe6064612ae583612433565b60035491900493906001600160a01b0316600080516020612cbf833981519152612b53565b90600080516020612cbf833981519152612b53565b63ffffffff606491160163ffffffff81116107455763ffffffff811663ffffffff831610600014612b4e575090565b905090565b60405163a9059cbb60e01b602082019081526001600160a01b0390931660248201526044808201949094529283526000918291612b9160648661202d565b60018060a01b031693519082855af13d15612c31573d67ffffffffffffffff8111611ffb57612be39160405191612bd26020601f19601f840116018461202d565b82523d6000602084013e5b83612c3d565b8051908115159182612c0d575b5050612bf95750565b635274afe760e01b60005260045260246000fd5b819250906020918101031261021c576020015180159081150361021c573880612bf0565b612be390606090612bdd565b90612c635750805115612c5257805190602001fd5b630a12f52160e11b60005260046000fd5b81511580612c95575b612c74575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b15612c6c56fe00000000000000000000000000f116ac0c304c570daaa68fa6c30a86a04b5c5f000000000000000000000000e9a53c43a0b58706e67341c4055de861e29ee943a264697066735822122029a8c84dfedf8e918f637247773b48acc1f106802b75541495a44ab983387fc764736f6c634300081a00330000000000000000000000003408db118057909a62c805c3d38500f9e0ea601a000000000000000000000000024d64e2f65747d8bb02dfb852702d588a0625750000000000000000000000002d28cfb0a0928ca0d29fae64275569f503fc0acc00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000