165 txs
173 calls
constructor
constructor(address _owner, address _stax, address _staxBuyBurn, address _devWallet)
functions
diamondHandPool
viewfunction diamondHandPool() view returns (uint256)
getCycleDistribution
purefunction getCycleDistribution(uint256 cycleId) pure returns (uint256 bankShare, uint256 buyBurnShare, uint256 genesisShare, uint256 nftHolderShare, uint256 diamondPoolShare)
getNextCycleTime
viewfunction getNextCycleTime() view returns (uint256)
getRewards
viewfunction getRewards(uint256[] tokenIds, address account) view returns (bool[] availability, uint256 totalPayout)
getTitanXPool
viewfunction getTitanXPool() view returns (uint256)
getX28MintStatus
viewfunction getX28MintStatus() view returns (bool isNativeMint)
getX28Pool
viewfunction getX28Pool() view returns (uint256)
incentiveFeeBPS
viewfunction incentiveFeeBPS() view returns (uint16)
lastClaimed
viewfunction lastClaimed(uint256 tokenId) view returns (uint32)
lastCycleMultipliers
viewfunction lastCycleMultipliers() view returns (uint256)
lastCycleTs
viewfunction lastCycleTs() view returns (uint256)
maxSwapValue
viewfunction maxSwapValue() view returns (uint256)
minCyclePool
viewfunction minCyclePool() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
secondsAgo
viewfunction secondsAgo() view returns (uint32)
STAX_BANK
viewfunction STAX_BANK() view returns (address)
STAX_BUY_BURN
viewfunction STAX_BUY_BURN() view returns (address)
STAX_DEV
viewfunction STAX_DEV() view returns (address)
STAX_NFT
viewfunction STAX_NFT() view returns (address)
STAX
viewfunction STAX() view returns (address)
tokensPerMultiplier
viewfunction tokensPerMultiplier(uint256 cycleId) view returns (uint256)
totalClaimed
viewfunction totalClaimed(address user) view returns (uint256)
totalRewadsPaid
viewfunction totalRewadsPaid() view returns (uint256)
totalRewardPool
viewfunction totalRewardPool() view returns (uint256)
twapDeviation
viewfunction twapDeviation() view returns (uint32)
x28Deviation
viewfunction x28Deviation() view returns (uint32)
acceptOwnership
nonpayablefunction acceptOwnership()
batchClaimRewards
nonpayablefunction batchClaimRewards(uint256[] tokenIds)
claimRewards
nonpayablefunction claimRewards(uint256 tokenId)
handleStartPresale
nonpayablefunction handleStartPresale()
renounceOwnership
nonpayablefunction renounceOwnership()
setIncentiveFee
nonpayablefunction setIncentiveFee(uint16 bps)
setMaxSwapValue
nonpayablefunction setMaxSwapValue(uint256 limit)
setMinCyclePool
nonpayablefunction setMinCyclePool(uint256 limit)
setProtocolAddresses
nonpayablefunction setProtocolAddresses(address _staxNft, address _staxBank)
setSecondsAgo
nonpayablefunction setSecondsAgo(uint32 limit)
setTwapDeviation
nonpayablefunction setTwapDeviation(uint32 limit)
setX28PriceDeviation
nonpayablefunction setX28PriceDeviation(uint32 limit)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateCycle
nonpayablefunction updateCycle(uint256 minAmountOut, uint256 deadline)
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)
Cooldown
error Cooldown()
FailedInnerCall
error FailedInnerCall()
InsufficientBalance
error InsufficientBalance()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
NoCyclesAvailable
error NoCyclesAvailable()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
Prohibited
error Prohibited()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
T
error T()
TokenExists
error TokenExists()
TWAP
error TWAP()
Unauthorized
error Unauthorized()
ZeroAddress
error ZeroAddress()
ZeroInput
error ZeroInput()
creation bytecode
0x60e0346101b157601f612ec538819003918201601f19168301916001600160401b038311848410176101b6578084926080946040528339810103126101b157610047816101cc565b90610054602082016101cc565b9161006d6060610066604085016101cc565b93016101cc565b6001600160a01b0390911692831561019b57600180546001600160a01b0319908116909155600080549182168617815560405195916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36ba18f07d736b90be5500000006006556aa56fa5b99019a5c8000000600a55600b80546001600160701b0319166b03e8000001f40000012c001e1790556001600160a01b0381161561018a576001600160a01b0383161561018a576001600160a01b0382161561018a5760805260c05260a05242600455612ce490816101e182396080518181816104c801528181610a050152610b07015260a0518181816106db0152610982015260c0518181816107010152610ece0152f35b63d92e233d60e01b60005260046000fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101b15756fe6080604052600436101561001257600080fd5b60003560e01c80630141a57a146112ca5780630962ef791461119857806309c85e241461117a578063121420aa1461115f57806312165f0c14611141578063179397f7146111185780631a60ca0e146110f15780631ad7b127146110a05780631d881fc41461107f5780632918387214610efd57806330843c9514610eb8578063312828b414610e935780633260c8c714610e7157806338352b7514610e535780633a81104d14610e2a57806341db6dbf14610e0c57806350b88c4214610dee57806352049ace14610dbc5780636168973714610d68578063633dd14514610d41578063715018a614610cdc5780637263779114610c8b57806379ba509714610c025780638cd499a914610b8f5780638da5cb5b14610b6657806390f73d3c14610ae35780639d7f39cf14610ac8578063b38c554214610a9c578063b7d67f5014610a7e578063bbed0a5e14610a57578063bcc35ef314610a34578063c465a8dc146109ef578063d82a4faa146109b1578063dfac55c71461096c578063e30c397814610943578063e50bab681461052f578063e8148a37146104b5578063eaddbe0a14610497578063ef5d9ae81461045d578063f2fde38b146103e95763fb2f897a146101df57600080fd5b346103e45760403660031901126103e45760043567ffffffffffffffff81116103e4576102109036906004016112eb565b90610219611332565b60009183156103d35761027e61022e856113b1565b9461023c6040519687611348565b808652600061024a826113b1565b602088019590601f190136873760018060a01b03600254166040518080968194626cf0a360e91b8352878a60048501611452565b03915afa9081156103c75760009260009261039f575b5060005b8181106102eb57878787604051916040830193604084525180945260608301916000945b8086106102d157505082935060208301520390f35b9092602080600192865115158152019401950194906102bc565b6102f681838761148e565b3561030182866114d1565b5190600052600d60205263ffffffff604060002054169063ffffffff8160381c16918015600014610399575063ffffffff8160181c16915b80610393575084905b63ffffffff8281169084161080610359868e6114d1565b5261036a575b505050600101610298565b61038a926001949a9261ffff6103849360081c16916118ec565b90611391565b9690388061035f565b90610342565b91610339565b9092506103bf91503d806000833e6103b78183611348565b8101906113c9565b909138610294565b6040513d6000823e3d90fd5b63af458c0760e01b60005260046000fd5b600080fd5b346103e45760203660031901126103e45761040261131c565b61040a6118d8565b60018060a01b0316806bffffffffffffffffffffffff60a01b600154161760015560018060a01b03600054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346103e45760203660031901126103e4576001600160a01b0361047e61131c565b16600052600e6020526020604060002054604051908152f35b346103e45760003660031901126103e4576020600854604051908152f35b346103e45760003660031901126103e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361051f57620a8bff19420142811161050957600455005b634e487b7160e01b600052601160045260246000fd5b6282b42960e81b60005260046000fd5b346103e45760403660031901126103e45761054861139e565b421061093257426004556000604060018060a01b0360025416600482518094819363632d7b1160e11b83525af180156103c75760009182916108ee575b5063ffffffff8216610596816117fe565b95926105a69792979591956116e7565b966105af611765565b976127106105bd888b611593565b0496898092600a5481101561084a575b505050600a5481106108395761061961271061061161060a826106026105f48d8398611758565b9e61ffff600b541690611593565b04809d611758565b9586611593565b049a84611593565b04966201d4c08611156107d4576106336127109184611593565b0491826005548710610752575b508561072b9a956106d99563ffffffff61069161068b6106ff9b6107259e9d9961067f6127106106766106c59c6106bd9c611593565b04600754611391565b600755816005556115a6565b936118bf565b16600052600c6020526106a982604060002054611391565b90600052600c602052604060002055611593565b600954611391565b6009556003546001600160a01b0316611965565b7f0000000000000000000000000000000000000000000000000000000000000000611965565b7f0000000000000000000000000000000000000000000000000000000000000000611965565b33611965565b7f660465679b26507e49dd0ba2ed076b0f87ed6197141d45e8b75afc3ae2f1026f600080a1005b9399949796925060075495610320870298878a0461032014881517156105095761072b9b63ffffffff61069161068b856106bd976107259f6127106106ff9f6106c59c6106d99f610676926107b9916107b18661067f98048093611758565b600755611391565b9e9f509c5050505097509b5050505095989950959a50610640565b8561072b9a956106d99563ffffffff61069161068b6106ff9b6127106107259f9e9a6108109061080a6106c59c6106bd9c611391565b90611593565b04806007549081610823575b50506115a6565b61082d9250611391565b6000600755388061081c565b631e9acf1760e31b60005260046000fd5b81929b506108e6935061271061086d6108668361038495611391565b9d83611593565b60035460405163a9059cbb60e01b60208201526001600160a01b0390911660248201529190046044820181905291906108d1906108b781606481015b03601f198101835282611348565b73f19308f923582a6f7c465e5ce7a9dc1bec6665b1611b14565b6108e16024359260043592611758565b6119ba565b8a80806105cd565b9190506040823d60401161092a575b8161090a60409383611348565b810103126109275750602061091e82611380565b91015182610585565b80fd5b3d91506108fd565b63b0782df760e01b60005260046000fd5b346103e45760003660031901126103e4576001546040516001600160a01b039091168152602090f35b346103e45760003660031901126103e4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103e45760203660031901126103e45760a06109cf6004356117fe565b926040929192519485526020850152604084015260608301526080820152f35b346103e45760003660031901126103e4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103e45760003660031901126103e4576020610a4f611765565b604051908152f35b346103e45760003660031901126103e457602063ffffffff600b5460501c16604051908152f35b346103e45760003660031901126103e4576020600454604051908152f35b346103e45760203660031901126103e457600435600052600c6020526020604060002054604051908152f35b346103e45760003660031901126103e4576020610a4f6116e7565b346103e45760403660031901126103e457610afc61131c565b610b04611332565b907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361051f57600280546001600160a01b039283166001600160a01b03199182161790915560038054939092169216919091179055005b346103e45760003660031901126103e4576000546040516001600160a01b039091168152602090f35b346103e45760203660031901126103e45760043563ffffffff81168082036103e457610bb96118d8565b80156103d35761271010610bf15769ffffffff000000000000600b549160301b169069ffffffff000000000000191617600b55600080f35b632b0039c760e21b60005260046000fd5b346103e45760003660031901126103e457600154336001600160a01b0390911603610c7657600180546001600160a01b03199081169091556000805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b6000523360045260246000fd5b346103e45760203660031901126103e45760043561ffff81168091036103e457610cb36118d8565b80158015610cd1575b610bf15761ffff19600b541617600b55600080f35b506103e88111610cbc565b346103e45760003660031901126103e457610cf56118d8565b600180546001600160a01b0319908116909155600080549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103e45760003660031901126103e457602063ffffffff600b5460101c16604051908152f35b346103e45760203660031901126103e45760043563ffffffff81168082036103e457610d926118d8565b156103d357600b805463ffffffff60501b191660509290921b63ffffffff60501b16919091179055005b346103e45760203660031901126103e457600435600052600d602052602063ffffffff60406000205416604051908152f35b346103e45760003660031901126103e4576020600754604051908152f35b346103e45760003660031901126103e4576020600654604051908152f35b346103e45760003660031901126103e4576002546040516001600160a01b039091168152602090f35b346103e45760003660031901126103e4576020600554604051908152f35b346103e45760003660031901126103e457602061ffff600b5416604051908152f35b346103e45760003660031901126103e4576020610eae6115c6565b6040519015158152f35b346103e45760003660031901126103e4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103e45760203660031901126103e45760043567ffffffffffffffff81116103e457610f2e9036906004016112eb565b9081156103d357600254604051626cf0a360e91b81529060009082906001600160a01b03168180610f6433898960048501611452565b03915afa80156103c757600091600091611062575b5060009360005b818110610fbd57610fbb86610f9781600854611391565b60085533600052600e6020526040600020610fb3828254611391565b905533611965565b005b8061ffff61102d610fd1600194868a61148e565b3598610384610fe0858a6114d1565b518b600052600d60205263ffffffff604060002054169063ffffffff8160381c1691801560001461105c575063ffffffff8160181c16915b806110545750899586915b60081c16916118ec565b97600052600d60205263ffffffff6040600020911663ffffffff1982541617905501610f80565b958691611023565b91611018565b905061107991503d806000833e6103b78183611348565b84610f79565b346103e45760203660031901126103e4576110986118d8565b600435600655005b346103e45760203660031901126103e45760043563ffffffff81168082036103e4576110ca6118d8565b156103d35765ffffffff0000600b549160101b169065ffffffff0000191617600b55600080f35b346103e45760003660031901126103e457602063ffffffff600b5460301c16604051908152f35b346103e45760003660031901126103e4576003546040516001600160a01b039091168152602090f35b346103e45760003660031901126103e4576020600a54604051908152f35b346103e45760003660031901126103e4576020610a4f61139e565b346103e45760003660031901126103e4576020600954604051908152f35b346103e45760203660031901126103e4576044600435604060018060a01b03600254168151938480926337a5b34760e21b82528560048301523360248301525afa9182156103c757600090819361127d575b50611240610fbb9361ffff9284600052600d60205263ffffffff604060002054169163ffffffff8260381c16928015600014611277575063ffffffff8260181c16925b8061126d575093849160081c16916118ec565b91600052600d60205263ffffffff6040600020911663ffffffff19825416179055610f9781600854611391565b9050938491611023565b9261122d565b92506040833d6040116112c2575b8161129860409383611348565b81010312610927575061ffff611240836112b96020610fbb96519201611380565b945091506111ea565b3d915061128b565b346103e45760203660031901126103e4576112e36118d8565b600435600a55005b9181601f840112156103e45782359167ffffffffffffffff83116103e4576020808501948460051b0101116103e457565b600435906001600160a01b03821682036103e457565b602435906001600160a01b03821682036103e457565b90601f8019910116810190811067ffffffffffffffff82111761136a57604052565b634e487b7160e01b600052604160045260246000fd5b519063ffffffff821682036103e457565b9190820180921161050957565b600454620bdd8081018091116105095790565b67ffffffffffffffff811161136a5760051b60200190565b91906040838203126103e457825167ffffffffffffffff81116103e45783019080601f830112156103e45781516113ff816113b1565b9261140d6040519485611348565b81845260208085019260051b8201019283116103e457602001905b82821061144257505050602061143f919301611380565b90565b8151815260209182019101611428565b60408082528101839052929392916001600160fb1b0381116103e45760209160609160051b8091838601378301019360018060a01b0316910152565b919081101561149e5760051b0190565b634e487b7160e01b600052603260045260246000fd5b80511561149e5760200190565b80516001101561149e5760400190565b805182101561149e5760209160051b010190565b51906001600160a01b03821682036103e457565b519061ffff821682036103e457565b519081151582036103e457565b908160e09103126103e457611529816114e5565b9160208201518060020b81036103e45791611546604082016114f9565b91611553606083016114f9565b91611560608082016114f9565b9160a082015160ff811681036103e45760c061143f919301611508565b9060c882029180830460c8149015171561050957565b8181029291811591840414171561050957565b81156115b0570490565b634e487b7160e01b600052601260045260246000fd5b604051633850c7bd60e01b815260e0816004817399f60479da6a49d55eba34893958cdaacc710ee95afa9081156103c7576000916116b2575b5063ffffffff600b5460501c166127100163ffffffff81116105095763ffffffff1680670de0b6b3a76400000290670de0b6b3a7640000820403610509576127109004906000906001600160a01b03166001600160801b038111611695578061166791611593565b901561168357670de0b6b3a764000061167f91611d10565b1090565b61167f90670de0b6b3a7640000611c8b565b61167f9150806116a491611b8a565b670de0b6b3a7640000611be9565b6116d4915060e03d60e0116116e0575b6116cc8183611348565b810190611515565b505050505050386115ff565b503d6116c2565b6040516370a0823160e01b815230600482015260208160248173f19308f923582a6f7c465e5ce7a9dc1bec6665b15afa9081156103c757600091611729575090565b90506020813d602011611750575b8161174460209383611348565b810103126103e4575190565b3d9150611737565b9190820391821161050957565b6040516370a0823160e01b8152306004820152602081602481735c47902c8c80779cb99235e42c354e53f38c3b0d5afa9081156103c7576000916117ca575b506117c16117b861143f9260085490611391565b60095490611758565b60075490611758565b90506020813d6020116117f6575b816117e560209383611348565b810103126103e457516117c16117a4565b3d91506117d8565b602381116118a95760058110611894576004198101908111610509576118238161157d565b9182611f4003611f40811161050957926107d0019161271083116105095761184a9061157d565b61271081029080820461271014901517156105095782611869916115a6565b91627a120081156115b057819004916298968082156115b05782900491621e848081156115b0570490565b50600090611f4090610320906103e89060c890565b506107d090611d4c906103e8906104e29060fa90565b63ffffffff6000199116019063ffffffff821161050957565b6000546001600160a01b03163303610c7657565b91909163ffffffff831663ffffffff8216146119545761194c61ffff9163ffffffff61191a61143f966118bf565b16600052600c60205263ffffffff611937604060002054926118bf565b16600052600c60205260406000205490611758565b911690611593565b63e6097abf60e01b60005260046000fd5b60405163a9059cbb60e01b60208201526001600160a01b03909116602482015260448101919091526119b89061199e81606481016108a9565b735c47902c8c80779cb99235e42c354e53f38c3b0d611b14565b565b9092916000936119c86115c6565b15611a5357505090916119da82612a15565b735c47902c8c80779cb99235e42c354e53f38c3b0d3b15610927576040516302c190dd60e61b815260048101839052818160248183735c47902c8c80779cb99235e42c354e53f38c3b0d5af18015611a4857611a3557505090565b611a40828092611348565b610927575090565b6040513d84823e3d90fd5b600654831115611b0757611a7791611a6d91600654611d5f565b9160065490611758565b90611a8182612a15565b735c47902c8c80779cb99235e42c354e53f38c3b0d3b15611b03576040516302c190dd60e61b81526004810183905293808560248183735c47902c8c80779cb99235e42c354e53f38c3b0d5af1948515611af65761143f9495611ae6575b5050611391565b81611af091611348565b38611adf565b50604051903d90823e3d90fd5b8380fd5b909161143f939450611d5f565b600080611b3d9260018060a01b03169360208151910182865af1611b36612bc4565b9083612c4d565b8051908115159182611b67575b5050611b535750565b635274afe760e01b60005260045260246000fd5b81925090602091810103126103e4576020611b829101611508565b153880611b4a565b8181029160009160001982820992848085109403938085039414611bde5783600160401b1115611bcf575090600160401b910990828211900360c01b910360401c1790565b63227bc15360e01b8152600490fd5b925050505060401c90565b90608082901b9060001983600160801b0992828085109403938085039414611c7f5783821115611c6e578190600160801b09816000038216809204600281600302188082026002030280820260020302808202600203028082026002030280820260020302809102600203029360018380600003040190848311900302920304170290565b63227bc15360e01b60005260046000fd5b509061143f92506115a6565b9060c082901b9060001983600160c01b0992828085109403938085039414611c7f5783821115611c6e578190600160c01b09816000038216809204600281600302188082026002030280820260020302808202600203028082026002030280820260020302809102600203029360018380600003040190848311900302920304170290565b6000908281029260001981830992848085109403938085039414611d5457600160c01b841015611bcf5750600160c01b910990828211900360401b910360c01c1790565b925050505060c01c90565b600b54604051633850c7bd60e01b8152939290601081901c63ffffffff1660e0866004817399f60479da6a49d55eba34893958cdaacc710ee95afa80156103c7576000966000916129e8575b5061ffff169586156129be5761ffff600191160161ffff81116105095761ffff600097816040519363252c09d760e01b855216061660048201526080816024817399f60479da6a49d55eba34893958cdaacc710ee95afa9081156128b95787908892612999575b509015612918575b63ffffffff1663ffffffff42160363ffffffff81116127205790818163ffffffff80941610612910575b501680156128e65760405190611e5b606083611348565b600282526020820191604036843781611e73826114b4565b5287611e7e826114c1565b5287604051809463883bdbfd60e01b825260248201936020600484015251809452604482019093835b8181106128c45750508192935003817399f60479da6a49d55eba34893958cdaacc710ee95afa9182156128b95787908893612795575b50611ef4611eea826114c1565b5160060b916114b4565b5160060b900391667fffffffffffff198312667fffffffffffff84131761274a576001600160a01b03611f26826114c1565b5116906001600160a01b0390611f3b906114b4565b51169003906001600160a01b03821161274a578060060b9260060b831561278157667fffffffffffff19811460001985141661276d5783810560020b93898212918261275e575b5050612734575b6001600160a01b038181026001600160c01b03169190910490036127205760201b640100000000600160c01b0316156124d75760020b8581121561271a57808603905b620d89e8821161270b57869060018316156126f9576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1692600281166126dd575b600481166126c1575b600881166126a5575b60108116612689575b6020811661266d575b60408116612651575b60808116612635575b6101008116612619575b61020081166125fd575b61040081166125e1575b61080081166125c5575b61100081166125a9575b612000811661258d575b6140008116612571575b6180008116612555575b620100008116612539575b62020000811661251e575b620400008116612503575b62080000166124eb575b136124c8575b63ffffffff908082166124c05786905b6001600160801b0386811692899260201c60ff91909116016001600160a01b03169081116124a457806120ff91611593565b9015612496579061210f91611d10565b915b60301c166127100363ffffffff8111612482576127109163ffffffff612138921690611593565b0481106124735760405192610100840184811067ffffffffffffffff82111761245f5760405273f19308f923582a6f7c465e5ce7a9dc1bec6665b184526020840190735c47902c8c80779cb99235e42c354e53f38c3b0d82526040850191612710835260608601903082526080870192835260a087019386855260c0880195865260e088019689885260405190636eb1769f60e11b825230600483015273e592427a0aece92de3edee1f18e0157c05861564602483015260208260448173f19308f923582a6f7c465e5ce7a9dc1bec6665b15afa8015612454578b9061241e575b6122239250611391565b91898060405194602086019063095ea7b360e01b825273e592427a0aece92de3edee1f18e0157c058615646024880152604487015260448652612267606487611348565b8551908273f19308f923582a6f7c465e5ce7a9dc1bec6665b15af19261228b612bc4565b93806123d6575b62ffffff9450806123b8575b1561236c575b5060405163414bf38960e01b815298516001600160a01b0390811660048b01529051811660248a0152905191909116604488015290518116606487015290516084860152905160a4850152905160c484015290511660e4820152602081610104818573e592427a0aece92de3edee1f18e0157c058615645af191821561236057809261232f57505090565b9091506020823d602011612358575b8161234b60209383611348565b8101031261092757505190565b3d915061233e565b604051903d90823e3d90fd5b6123b2906108b760405163095ea7b360e01b602082015273e592427a0aece92de3edee1f18e0157c0586156460248201528d6044820152604481526108b7606482611348565b386122a4565b5073f19308f923582a6f7c465e5ce7a9dc1bec6665b13b151561229e565b5083519384159081156123f0575b5062ffffff9450612292565b6020915080929394958101031261241a5790612414602062ffffff95949301611508565b386123e4565b8a80fd5b50906020813d60201161244c575b8161243960209383611348565b8101031261241a57906122239151612219565b3d915061242c565b6040513d8d823e3d90fd5b634e487b7160e01b86526041600452602486fd5b63431653f160e11b8452600484fd5b634e487b7160e01b86526011600452602486fd5b61249f91611c8b565b61210f565b6124ba929150806124b491611b8a565b90611be9565b91612111565b6001906120cd565b80156124d757600019046120bd565b634e487b7160e01b86526012600452602486fd5b916b048a170391f7dc42444e8fa20260801c916120b7565b6d2216e584f5fa1ea926041bedfe9890930260801c926120ad565b926e5d6af8dedb81196699c329225ee6040260801c926120a2565b926f09aa508b5b7a84e1c677de54f3e99bc90260801c92612097565b926f31be135f97d08fd981231505542fcfa60260801c9261208c565b926f70d869a156d2a1b890bb3df62baf32f70260801c92612082565b926fa9f746462d870fdf8a65dc1f90e061e50260801c92612078565b926fd097f3bdfd2022b8845ad8f792aa58250260801c9261206e565b926fe7159475a2c29b7443b29c7fa6e889d90260801c92612064565b926ff3392b0822b70005940c7a398e4b70f30260801c9261205a565b926ff987a7253ac413176f2b074cf7815e540260801c92612050565b926ffcbe86c7900a88aedcffc83b479aa3a40260801c92612046565b926ffe5dee046a99a2a811c461f1969c30530260801c9261203c565b926fff2ea16466c96a3843ec78b326b528610260801c92612033565b926fff973b41fa98c081472e6896dfb254c00260801c9261202a565b926fffcb9843d60f6159c9db58835c9266440260801c92612021565b926fffe5caca7e10e4e61c3624eaa0941cd00260801c92612018565b926ffff2e50f5f656932ef12357cf3c7fdcc0260801c9261200f565b926ffff97272373d413259a46990580e213a0260801c92612006565b6001600160881b03600160801b611ffb565b6315e4079d60e11b8752600487fd5b80611fcc565b634e487b7160e01b87526011600452602487fd5b91627fffff19811461274a576000190191611f89565b634e487b7160e01b88526011600452602488fd5b0760060b151590503880611f82565b634e487b7160e01b89526011600452602489fd5b634e487b7160e01b89526012600452602489fd5b9250503d8088843e6127a78184611348565b8201916040818403126128b557805167ffffffffffffffff81116128915781019083601f83011215612891578151916127df836113b1565b926127ed6040519485611348565b80845260208085019160051b830101918683116128b157602001905b8282106128995750505060208101519067ffffffffffffffff821161289557019280601f85011215612891578351612840816113b1565b9461284e6040519687611348565b81865260208087019260051b82010192831161241a57602001905b8282106128795750505038611edd565b60208091612886846114e5565b815201910190612869565b8880fd5b8980fd5b602080916128a684612c04565b815201910190612809565b8b80fd5b8780fd5b6040513d89823e3d90fd5b855163ffffffff1683526020958601958d955088945090920191600101611ea7565b60405162461bcd60e51b8152602060048201526002602482015261042560f41b6044820152606490fd5b905038611e44565b5060405163252c09d760e01b8152600481018790526080816024817399f60479da6a49d55eba34893958cdaacc710ee95afa9081156128b9579063ffffffff918891612967575b509050611e1a565b612989915060803d608011612992575b6129818183611348565b810190612c12565b5050503861295f565b503d612977565b90506129b4915060803d608011612992576129818183611348565b9291505038611e12565b60405162461bcd60e51b81526020600482015260026024820152614e4960f01b6044820152606490fd5b61ffff9750612a06915060e03d60e0116116e0576116cc8183611348565b50505098925090509690611dab565b604051636eb1769f60e11b8152306004820152735c47902c8c80779cb99235e42c354e53f38c3b0d60248201529060208260448173f19308f923582a6f7c465e5ce7a9dc1bec6665b15afa80156103c757600090612b90575b612a789250611391565b60008060405192602084019063095ea7b360e01b8252735c47902c8c80779cb99235e42c354e53f38c3b0d6024860152604485015260448452612abc606485611348565b8351908273f19308f923582a6f7c465e5ce7a9dc1bec6665b15af1612adf612bc4565b81612b59575b5080612b3b575b15612af45750565b6119b8906108b760405163095ea7b360e01b6020820152735c47902c8c80779cb99235e42c354e53f38c3b0d602482015260006044820152604481526108b7606482611348565b5073f19308f923582a6f7c465e5ce7a9dc1bec6665b13b1515612aec565b8051801592508215612b6e575b505038612ae5565b81925090602091810103126103e4576020612b899101611508565b3880612b66565b506020823d602011612bbc575b81612baa60209383611348565b810103126103e457612a789151612a6e565b3d9150612b9d565b3d15612bff573d9067ffffffffffffffff821161136a5760405191612bf3601f8201601f191660200184611348565b82523d6000602084013e565b606090565b51908160060b82036103e457565b91908260809103126103e457612c2782611380565b91612c3460208201612c04565b9161143f6060612c46604085016114e5565b9301611508565b90612c735750805115612c6257805190602001fd5b630a12f52160e11b60005260046000fd5b81511580612ca5575b612c84575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b15612c7c56fea26469706673582212204ab2539c2fee0b712f19c4628e4705514d020ea1e4c6f1aa2edcc6b989587b9964736f6c634300081a0033000000000000000000000000eb430c15ff72fec66f382e6905e2dcb88a805c510000000000000000000000004bd0f1886010253a18bbb401a788d8972c155b9d0000000000000000000000001698a3e248ff7f0f1f91fe82eedaa3f1212d1f7f00000000000000000000000055868cf3f370fa5daadb21f6d5543244a5770ad6