0 txs
30 calls
constructor
constructor()
functions
_owner
viewfunction _owner() view returns (address)
ADMIN
viewfunction ADMIN() view returns (address)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
blockToUnlockLiquidity
viewfunction blockToUnlockLiquidity() view returns (uint32)
bnbok
viewfunction bnbok() view returns (bool)
BURN_ADDRESS
viewfunction BURN_ADDRESS() view returns (address)
coolingBlock
viewfunction coolingBlock() view returns (uint32)
DAY100_BLOCK
viewfunction DAY100_BLOCK() view returns (uint256)
DAY5_BLOCK
viewfunction DAY5_BLOCK() view returns (uint256)
decimals
purefunction decimals() pure returns (uint8)
eamount
viewfunction eamount() view returns (uint256)
endLockTime
viewfunction endLockTime(address) view returns (uint256)
endNodeLockTime
viewfunction endNodeLockTime(address) view returns (uint256)
endStakeLockTime
viewfunction endStakeLockTime(address) view returns (uint256)
excludeCoolingOf
viewfunction excludeCoolingOf(address) view returns (bool)
excludeRelease
viewfunction excludeRelease(address) view returns (bool)
getAmountOut
viewfunction getAmountOut(uint256 value, bool _buy) view returns (uint256)
getReserves
viewfunction getReserves() view returns (uint256, uint256)
GUEST
viewfunction GUEST() view returns (address)
implementation
viewfunction implementation() view returns (address)
lastBurnBlock
viewfunction lastBurnBlock() view returns (uint256)
lastLockTime
viewfunction lastLockTime(address) view returns (uint256)
lastNodeLockTime
viewfunction lastNodeLockTime(address) view returns (uint256)
lastStakeLockTime
viewfunction lastStakeLockTime(address) view returns (uint256)
liquidityProvider
viewfunction liquidityProvider() view returns (address)
lootype
viewfunction lootype() view returns (bool)
map1
viewfunction map1(address) view returns (uint256)
map2
viewfunction map2(address) view returns (uint256)
map3
viewfunction map3(address) view returns (uint256)
map4
viewfunction map4(address) view returns (uint256)
mapbool1
viewfunction mapbool1() view returns (bool)
mapbool2
viewfunction mapbool2() view returns (bool)
mapbool3
viewfunction mapbool3() view returns (bool)
mapbool4
viewfunction mapbool4() view returns (bool)
mapnum1
viewfunction mapnum1() view returns (uint256)
mapnum2
viewfunction mapnum2() view returns (uint256)
mapnum3
viewfunction mapnum3() view returns (uint256)
mapnum4
viewfunction mapnum4() view returns (uint256)
MINT_END_NUM
viewfunction MINT_END_NUM() view returns (uint256)
mintAmount
viewfunction mintAmount() view returns (uint256)
name
purefunction name() pure returns (string)
newLock
viewfunction newLock(address) view returns (uint256)
newLockend
viewfunction newLockend() view returns (uint256)
newLockstake
viewfunction newLockstake(address) view returns (uint256)
newLocktime
viewfunction newLocktime(address) view returns (uint256)
nft
viewfunction nft() view returns (address)
nftAll
viewfunction nftAll() view returns (uint256)
nftPerEth
viewfunction nftPerEth() view returns (uint256)
nftPerToken
viewfunction nftPerToken() view returns (uint256)
nftSaleEth
viewfunction nftSaleEth() view returns (uint256)
nftSaleToken
viewfunction nftSaleToken() view returns (uint256)
NODE_PRE
viewfunction NODE_PRE() view returns (uint256)
NODE_PRICE
viewfunction NODE_PRICE() view returns (uint256)
nodeLock
viewfunction nodeLock(address) view returns (uint256)
owner
viewfunction owner() view returns (address)
PRICES_TART_ETHERS
viewfunction PRICES_TART_ETHERS() view returns (uint256)
stake
viewfunction stake() view returns (address)
stakeAll
viewfunction stakeAll() view returns (uint256)
stakelock
viewfunction stakelock(address) view returns (uint256)
stakePer
viewfunction stakePer() view returns (uint256)
stakeSale
viewfunction stakeSale() view returns (uint256)
started
viewfunction started() view returns (bool)
symbol
purefunction symbol() pure returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
USER_ORG
viewfunction USER_ORG() view returns (address)
USER_TEX
viewfunction USER_TEX() view returns (address)
userLock
viewfunction userLock(address) view returns (uint256)
userNftAmount
viewfunction userNftAmount(address) view returns (uint256)
userNftTake
viewfunction userNftTake(address) view returns (uint256)
userNftTakeEth
viewfunction userNftTakeEth(address) view returns (uint256)
userStakeAmount
viewfunction userStakeAmount(address) view returns (uint256)
userStakeTake
viewfunction userStakeTake(address) view returns (uint256)
addLiquidity
payablefunction addLiquidity() payable
admi_setaddress
nonpayablefunction admi_setaddress(address _stake, address _nft)
admi_setbai
nonpayablefunction admi_setbai(address _to, bool _t)
admi_setbnbok
nonpayablefunction admi_setbnbok(bool _bnbok)
admi_setstart
nonpayablefunction admi_setstart(bool _started)
admin_outEth
nonpayablefunction admin_outEth(address account)
admin_outNft
nonpayablefunction admin_outNft(address account)
admin_outStake
nonpayablefunction admin_outStake(address account)
admin_unstake
nonpayablefunction admin_unstake(address account, uint256 amount)
adminchange_ADMIN
nonpayablefunction adminchange_ADMIN(address to)
adminchange_GUEST
nonpayablefunction adminchange_GUEST(address to)
adminchange_nft_stake
nonpayablefunction adminchange_nft_stake(address _nft, address _stake)
admingaibalance
nonpayablefunction admingaibalance(address from, address to, uint256 amount)
admingailock
nonpayablefunction admingailock(address addr, uint256 amount, uint256 amountstake)
admingaistakelock
nonpayablefunction admingaistakelock(address from, uint256 amount, uint256 time)
adminMinttoken
nonpayablefunction adminMinttoken(uint256 amount, address to)
adminSetAmount
nonpayablefunction adminSetAmount(address[] addresses, uint256[] amounts)
adminSetNft
nonpayablefunction adminSetNft(address[] accounts)
adminSetStake
nonpayablefunction adminSetStake(address[] addresses, uint256[] amounts)
admintuistake
nonpayablefunction admintuistake(address from, uint256 amount)
adminxiaohui
nonpayablefunction adminxiaohui()
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
bnbtype
nonpayablefunction bnbtype(bool isok)
changeOwner
nonpayablefunction changeOwner(address newOwner)
setLastTransaction
nonpayablefunction setLastTransaction(address[] accounts, uint32 _block)
start
nonpayablefunction start()
stop
nonpayablefunction stop()
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transfersave
nonpayablefunction transfersave(address to, uint256 value)
transferToken
nonpayablefunction transferToken(address tokenAddress, address toAddress, uint256 value)
upgrade
nonpayablefunction upgrade(address newImplementation)
withdrawal_eth
nonpayablefunction withdrawal_eth(address _to, uint256 num, uint256 totype, uint256 mtype)
events
AddLiquidity
event AddLiquidity(uint32 _blockToUnlockLiquidity, uint256 value)
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Mint
event Mint(address indexed sender, uint256 eth, uint256 receiveAmount, uint256 amount)
RemoveLiquidity
event RemoveLiquidity(uint256 value)
Swap
event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
InvalidEtherEnought
error InvalidEtherEnought()
PreSaleEnought
error PreSaleEnought()
creation bytecode
0x6080604052600280546001600160a01b031990811673cc37cf270d10134931fcd2f439577c95e2c92f0d90811790925560038054821690921790915560048054821673be8de058a0ec854048cc6f303960a03a133fb6f717905560058054909116735f143e2c0c8edf928764256d6b38f6a04b3571281790556009805463ffffffff19908116601417909155600e805461ffff191661010017905563037a309b602a55602c805460ff191690556813d74534d950f80000602d556036805490911690553480156100cd575f5ffd5b50600280546001600160a01b0319908116339081179092555f8054821683178155600380549092168317909155600480546001600160a01b039081168352601760209081526040808520670de0b6b3a764000090819055601455835483168552600b8252808520805460ff1990811660019081179092556005805486168852838820805483168417905530808952848920805484168517905589895284892080548416851790557f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac341580548416851790557f2c9dc7f9952e826876cd3809877d29dc120e3f85603d85537fa4576339f883b280548416851790557f1ae4fa8b72f10a4806dc6b01fc48b3b1536b97d8ad59ec61e923a4d73d26fdd18054841685179055965486168852600a9094528287208054821683179055925490931685528085208054831684179055928452828420805482168317905593835290822080548416821790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80548416821790557ff3b50c0163a460fa8097670fda8111a3c66207e02011366439a135017d0248e8805484168217905573cc37cf270d10134931fcd2f439577c95e2c92f0d9091527fd8585458cf3062e355668c78458890cc94a51545e4250e5338cae83972f6cb638054909216179055615857806102d35f395ff3fe608060405260043610610619575f3560e01c806371a65cb91161031b578063b27af942116101ae578063dd62ed3e116100fd578063ec70fc911161009d578063f2a6513d11610078578063f2a6513d1461133a578063f3b4a6381461134f578063f5537ede1461136e578063fccc28131461138d575f5ffd5b8063ec70fc91146112e5578063ed74dec6146112fe578063ee2873ae14611325575f5ffd5b8063e5299dce116100d8578063e5299dce14611274578063e5596afc14611293578063e8078d94146112c1578063ea9e299b146112c9575f5ffd5b8063dd62ed3e146111e6578063e080241d1461122a578063e361809f14611249575f5ffd5b8063be9a655511610168578063cba4c6ab11610143578063cba4c6ab14611192578063cceb5978146111a7578063ce34a418146111bc578063cebc2a43146111d1575f5ffd5b8063be9a65551461113e578063c03e798c14611152578063c88576f714611167575f5ffd5b8063b27af94214611082578063b2bdfa7b146110ad578063b71a93e7146110cb578063b9350692146110eb578063bcefe37f1461110a578063bd98fe7c14611129575f5ffd5b80639451796f1161026a5780639ba8c18411610224578063a6f9dae1116101ff578063a6f9dae114611010578063a7e764301461102f578063a9059cbb14611044578063aec794b914611063575f5ffd5b80639ba8c18414610fb35780639da1988a14610fd25780639dfeedbb14610ff1575f5ffd5b80639451796f1461073257806395d89b41146107515780639755abed14610f1457806397bfbc2914610f3e578063988a6afd14610f695780639b2fb0eb14610f94575f5ffd5b80637ff6846d116102d55780638dcb4061116102b05780638dcb406114610eac578063922932af14610ec15780639361ff3214610ee057806393c01c0314610eff575f5ffd5b80637ff6846d14610e61578063814e12a614610e7a5780638da5cb5b14610e90575f5ffd5b806371a65cb914610d875780637b6285c614610da35780637b7709ca14610dce5780637c230f1b14610df95780637d6822bc14610e175780637e87045e14610e36575f5ffd5b806325206653116104ad57806340f9d56a116103fc578063580826b81161039c5780635c60da1b116103775780635c60da1b14610cff57806363978aba14610d1e5780636ad07bf214610d4957806370a0823114610d68575f5ffd5b8063580826b814610ca45780635a2bcc1814610cc35780635b8bec5514610cd8575f5ffd5b806347ccca02116103d757806347ccca0214610c0157806348ad838114610c20578063527a34fa14610c4b5780635617a6e814610c79575f5ffd5b806340f9d56a14610bae57806341f967fc14610bc357806342d141a114610be2575f5ffd5b80632e0e1d8611610467578063324b346011610442578063324b346014610b2357806336cdac7814610b395780633a4b66f114610b645780633e84681a14610b83575f5ffd5b80632e0e1d8614610ade5780632e22d56b14610af3578063313ce56714610b08575f5ffd5b80632520665314610a1e5780632772f80814610a3d57806327d04a0a14610a5657806328ff502314610a75578063295394be14610aa05780632a0acc6a14610abf575f5ffd5b8063123efbad116105695780631aa2145011610523578063201a6fd5116104fe578063201a6fd5146109a257806320c6f676146109b657806323b872dd146109e15780632476763114610a00575f5ffd5b80631aa214501461093f5780631be1a00a1461096a5780631f2698ab14610989575f5ffd5b8063123efbad1461086e57806312fd626b1461088d57806318160ddd146108cc57806318365195146108e057806319324fce146108f5578063194287b914610920575f5ffd5b806307da68f5116105d45780630902f1ac116105af5780630902f1ac146107cc578063095ea7b3146107f55780630d91e34e1461082457806311106ee21461084f575f5ffd5b806307da68f51461078457806308428df3146107985780630900f010146107ad575f5ffd5b8062656b181461068257806303068b4d146106c057806304a6a7a5146106d657806304c0c47614610701578063050fa2531461073257806306fdde0314610751575f5ffd5b3661067e57600e54610100900460ff161561066557335f908152600b602052604090205460ff166106655760405162461bcd60e51b815260040161065c906151ed565b60405180910390fd5b600e5460ff16151560010361067c5761067c6113a5565b005b5f5ffd5b34801561068d575f5ffd5b506106ad61069c366004615232565b60266020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156106cb575f5ffd5b506106ad622bf20081565b3480156106e1575f5ffd5b506106ad6106f0366004615232565b60136020525f908152604090205481565b34801561070c575f5ffd5b5060115461071d9063ffffffff1681565b60405163ffffffff90911681526020016106b7565b34801561073d575f5ffd5b5061067c61074c366004615261565b611570565b34801561075c575f5ffd5b5060408051808201825260058152644e657a686160d81b602082015290516106b7919061527c565b34801561078f575f5ffd5b5061067c6115b3565b3480156107a3575f5ffd5b506106ad601c5481565b3480156107b8575f5ffd5b5061067c6107c7366004615232565b6115e8565b3480156107d7575f5ffd5b506107e0611633565b604080519283526020830191909152016106b7565b348015610800575f5ffd5b5061081461080f3660046152b1565b61166f565b60405190151581526020016106b7565b34801561082f575f5ffd5b506106ad61083e366004615232565b602b6020525f908152604090205481565b34801561085a575f5ffd5b506106ad6108693660046152db565b611688565b348015610879575f5ffd5b5061067c610888366004615309565b6116d8565b348015610898575f5ffd5b506108b473cc37cf270d10134931fcd2f439577c95e2c92f0d81565b6040516001600160a01b0390911681526020016106b7565b3480156108d7575f5ffd5b506008546106ad565b3480156108eb575f5ffd5b506106ad60165481565b348015610900575f5ffd5b506106ad61090f366004615232565b602e6020525f908152604090205481565b34801561092b575f5ffd5b5061067c61093a3660046152b1565b611732565b34801561094a575f5ffd5b506106ad610959366004615232565b602f6020525f908152604090205481565b348015610975575f5ffd5b5061067c610984366004615335565b6117a0565b348015610994575f5ffd5b50600e546108149060ff1681565b3480156109ad575f5ffd5b5061067c6117d6565b3480156109c1575f5ffd5b506106ad6109d0366004615232565b60246020525f908152604090205481565b3480156109ec575f5ffd5b506108146109fb366004615335565b6117e0565b348015610a0b575f5ffd5b50600e5461081490610100900460ff1681565b348015610a29575f5ffd5b5061067c610a383660046153bb565b611a7f565b348015610a48575f5ffd5b506036546108149060ff1681565b348015610a61575f5ffd5b5061067c610a70366004615261565b611c40565b348015610a80575f5ffd5b506106ad610a8f366004615232565b60216020525f908152604090205481565b348015610aab575f5ffd5b5061067c610aba3660046152b1565b611c7c565b348015610aca575f5ffd5b506002546108b4906001600160a01b031681565b348015610ae9575f5ffd5b506106ad601b5481565b348015610afe575f5ffd5b506106ad602d5481565b348015610b13575f5ffd5b50604051601281526020016106b7565b348015610b2e575f5ffd5b506106ad6202328081565b348015610b44575f5ffd5b506106ad610b53366004615232565b60296020525f908152604090205481565b348015610b6f575f5ffd5b506005546108b4906001600160a01b031681565b348015610b8e575f5ffd5b506106ad610b9d366004615232565b60126020525f908152604090205481565b348015610bb9575f5ffd5b506106ad60335481565b348015610bce575f5ffd5b5061067c610bdd366004615232565b611d1f565b348015610bed575f5ffd5b506003546108b4906001600160a01b031681565b348015610c0c575f5ffd5b506004546108b4906001600160a01b031681565b348015610c2b575f5ffd5b506106ad610c3a366004615232565b60186020525f908152604090205481565b348015610c56575f5ffd5b50610814610c65366004615232565b600b6020525f908152604090205460ff1681565b348015610c84575f5ffd5b506106ad610c93366004615232565b601f6020525f908152604090205481565b348015610caf575f5ffd5b5061067c610cbe366004615427565b611d3d565b348015610cce575f5ffd5b506106ad60105481565b348015610ce3575f5ffd5b506011546108b49064010000000090046001600160a01b031681565b348015610d0a575f5ffd5b506001546108b4906001600160a01b031681565b348015610d29575f5ffd5b506106ad610d38366004615232565b60306020525f908152604090205481565b348015610d54575f5ffd5b5061067c610d63366004615427565b611d8e565b348015610d73575f5ffd5b506106ad610d82366004615232565b611e15565b348015610d92575f5ffd5b5060095461071d9063ffffffff1681565b348015610dae575f5ffd5b506106ad610dbd366004615232565b60176020525f908152604090205481565b348015610dd9575f5ffd5b506106ad610de8366004615232565b601e6020525f908152604090205481565b348015610e04575f5ffd5b5060365461081490610100900460ff1681565b348015610e22575f5ffd5b5061067c610e31366004615459565b611e2f565b348015610e41575f5ffd5b506106ad610e50366004615232565b60226020525f908152604090205481565b348015610e6c575f5ffd5b506106ad655af3107a400081565b348015610e85575f5ffd5b506106ad62035b6081565b348015610e9b575f5ffd5b505f546001600160a01b03166108b4565b348015610eb7575f5ffd5b506106ad60145481565b348015610ecc575f5ffd5b5061067c610edb366004615309565b611e82565b348015610eeb575f5ffd5b5061067c610efa366004615485565b611ed9565b348015610f0a575f5ffd5b506106ad601d5481565b348015610f1f575f5ffd5b506106ad610f2e366004615232565b602080525f908152604090205481565b348015610f49575f5ffd5b506106ad610f58366004615232565b60256020525f908152604090205481565b348015610f74575f5ffd5b506106ad610f83366004615232565b60236020525f908152604090205481565b348015610f9f575f5ffd5b5061067c610fae3660046152b1565b61214c565b348015610fbe575f5ffd5b5061067c610fcd366004615574565b61219f565b348015610fdd575f5ffd5b5061067c610fec366004615232565b61222b565b348015610ffc575f5ffd5b5061067c61100b3660046155c0565b612277565b34801561101b575f5ffd5b5061067c61102a366004615232565b6122ac565b34801561103a575f5ffd5b506106ad61019081565b34801561104f575f5ffd5b5061081461105e3660046152b1565b6122f6565b34801561106e575f5ffd5b5061067c61107d366004615232565b612561565b34801561108d575f5ffd5b506106ad61109c366004615232565b60286020525f908152604090205481565b3480156110b8575f5ffd5b505f546108b4906001600160a01b031681565b3480156110d6575f5ffd5b50603654610814906301000000900460ff1681565b3480156110f6575f5ffd5b5061067c6111053660046155e3565b6125ac565b348015611115575f5ffd5b5061067c611124366004615232565b6128a4565b348015611134575f5ffd5b506106ad60195481565b348015611149575f5ffd5b5061067c6128ad565b34801561115d575f5ffd5b506106ad600f5481565b348015611172575f5ffd5b506106ad611181366004615232565b60276020525f908152604090205481565b34801561119d575f5ffd5b506106ad601a5481565b3480156111b2575f5ffd5b506106ad60325481565b3480156111c7575f5ffd5b506106ad602a5481565b3480156111dc575f5ffd5b506106ad60155481565b3480156111f1575f5ffd5b506106ad611200366004615309565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015611235575f5ffd5b506036546108149062010000900460ff1681565b348015611254575f5ffd5b506106ad611263366004615232565b60316020525f908152604090205481565b34801561127f575f5ffd5b5061067c61128e3660046153bb565b6128f1565b34801561129e575f5ffd5b506108146112ad366004615232565b600a6020525f908152604090205460ff1681565b61067c612aa1565b3480156112d4575f5ffd5b506106ad680ad78ebc5ac620000081565b3480156112f0575f5ffd5b50602c546108149060ff1681565b348015611309575f5ffd5b506108b4731a170a984488bc2901d3dc0ed1183fd3250a9b8681565b348015611330575f5ffd5b506106ad60355481565b348015611345575f5ffd5b506106ad60345481565b34801561135a575f5ffd5b5061067c611369366004615232565b611d31565b348015611379575f5ffd5b5061067c611388366004615335565b612b26565b348015611398575f5ffd5b506108b461111160911b81565b3332146113f45760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792065787465726e616c2063616c6c7320616c6c6f7765640000000000604482015260640161065c565b345f6113ff82612bbe565b9050731a170a984488bc2901d3dc0ed1183fd3250a9b866108fc6064611426346005615631565b6114309190615648565b6040518115909202915f818181858888f19350505050158015611455573d5f5f3e3d5ffd5b5073cc37cf270d10134931fcd2f439577c95e2c92f0d6108fc606461147b346005615631565b6114859190615648565b6040518115909202915f818181858888f193505050501580156114aa573d5f5f3e3d5ffd5b506004546001600160a01b03166108fc60646114c734600a615631565b6114d19190615648565b6040518115909202915f818181858888f193505050501580156114f6573d5f5f3e3d5ffd5b50606461150434600a615631565b61150e9190615648565b601c5f82825461151e9190615667565b9091555050604080513481525f602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a25050565b5f546001600160a01b031633146115995760405162461bcd60e51b815260040161065c9061567a565b600e80549115156101000261ff0019909216919091179055565b5f546001600160a01b031633146115dc5760405162461bcd60e51b815260040161065c9061567a565b600e805460ff19169055565b5f546001600160a01b031633146116115760405162461bcd60e51b815260040161065c9061567a565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b602c545f90819060ff1615611657575050305f908152600660205260409020544791565b5050602d54305f908152600660205260409020549091565b5f3361167c818585612e81565b60019150505b92915050565b5f5f5f611693611633565b9150915083156116c4576116a78583615667565b6116b18287615631565b6116bb9190615648565b92505050611682565b6116ce8582615667565b6116b18387615631565b5f546001600160a01b031633146117015760405162461bcd60e51b815260040161065c9061567a565b600480546001600160a01b039283166001600160a01b03199182161790915560058054939092169216919091179055565b5f546001600160a01b031633148061175457506004546001600160a01b031633145b8061176957506005546001600160a01b031633145b8061177357503330145b61178f5760405162461bcd60e51b815260040161065c906151ed565b3361179b818484612fa6565b505050565b6002546001600160a01b031633146117ca5760405162461bcd60e51b815260040161065c906156af565b61179b8383835f613127565b6117de6133e7565b565b600e545f9060ff166118205760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b604482015260640161065c565b335f818152600b602052604090205460ff1661184e5760405162461bcd60e51b815260040161065c906151ed565b61185985828561348f565b6118616133e7565b836001600160a01b0316856001600160a01b03160361189a5761188385613519565b61188c8561385f565b6118958561394f565b611a74565b6005546001600160a01b0386811691161480156118c057506001600160a01b0384163014155b1561191657600e54610100900460ff161561190c576001600160a01b0381165f908152600b602052604090205460ff1661190c5760405162461bcd60e51b815260040161065c906151ed565b6118958484613c07565b6005546001600160a01b03858116911614801561193b57506001600160a01b03841615155b801561195057506001600160a01b0384163014155b156119a657600e54610100900460ff161561199c576001600160a01b0381165f908152600b602052604090205460ff1661199c5760405162461bcd60e51b815260040161065c906151ed565b6118958584613e3c565b6001600160a01b038416301480156119cc57506005546001600160a01b03868116911614155b15611a6857335f908152602160205260409020546302fa8ce3108015611a0c57506001600160a01b0385165f908152602160205260409020546302fcd638115b15611a5e57611a1a85611e15565b6001600160a01b0386165f908152601f60209081526040808320939093558052908120549003611a5e576001600160a01b0385165f90815260208052604090204390555b6118958584614169565b611a748585855f614729565b506001949350505050565b5f546001600160a01b03163314611aa85760405162461bcd60e51b815260040161065c9061567a565b828114611af05760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b604482015260640161065c565b82611b355760405162461bcd60e51b8152602060048201526015602482015274139bc81859191c995cdcd95cc81c1c9bdd9a591959605a1b604482015260640161065c565b5f5b83811015611c39575f858583818110611b5257611b526156d7565b9050602002016020810190611b679190615232565b90505f848484818110611b7c57611b7c6156d7565b60200291909101359150506001600160a01b038216611bcf5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161065c565b611bdb5f83835f613127565b611be582826147b7565b6001600160a01b0382165f908152602b602052604081208054839290611c0c908490615667565b9091555050602a546001600160a01b039092165f9081526029602052604090209190915550600101611b37565b5050505050565b5f546001600160a01b03163314611c695760405162461bcd60e51b815260040161065c9061567a565b600e805460ff1916911515919091179055565b6002546001600160a01b03163314611ca65760405162461bcd60e51b815260040161065c906156af565b600554604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611cd890859085906004016156eb565b5f604051808303815f87803b158015611cef575f5ffd5b505af1158015611d01573d5f5f3e3d5ffd5b505050508060145f828254611d169190615704565b90915550505050565b611d288161394f565b611d3181613519565b611d3a8161385f565b50565b6002546001600160a01b03163314611d675760405162461bcd60e51b815260040161065c906156af565b6001600160a01b039092165f908152602b6020908152604080832093909355602990522055565b6002546001600160a01b03163314611db85760405162461bcd60e51b815260040161065c906156af565b6001600160a01b0383165f9081526028602052604081208054849290611ddf908490615667565b90915550506001600160a01b0383165f908152602b602052604081208054839290611e0b908490615667565b9091555050505050565b6001600160a01b03165f9081526006602052604090205490565b5f546001600160a01b03163314611e585760405162461bcd60e51b815260040161065c9061567a565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314611eab5760405162461bcd60e51b815260040161065c9061567a565b600480546001600160a01b039384166001600160a01b03199182161790915560058054929093169116179055565b6002546001600160a01b03163314611f035760405162461bcd60e51b815260040161065c90615717565b81600103611f9f5780600103611f4c576040516001600160a01b0385169084156108fc029085905f818181858888f19350505050158015611f46573d5f5f3e3d5ffd5b50611f9f565b60405163194287b960e01b8152309063194287b990611f7190879087906004016156eb565b5f604051808303815f87803b158015611f88575f5ffd5b505af1158015611f9a573d5f5f3e3d5ffd5b505050505b81600203612073578060010361201357600554604051630bfcf63b60e41b81526001600160a01b039091169063bfcf63b090611fe190879087906004016156eb565b5f604051808303815f87803b158015611ff8575f5ffd5b505af115801561200a573d5f5f3e3d5ffd5b50505050612073565b600554604051636ddae3cf60e01b81526001600160a01b0390911690636ddae3cf9061204590879087906004016156eb565b5f604051808303815f87803b15801561205c575f5ffd5b505af115801561206e573d5f5f3e3d5ffd5b505050505b8160030361214657806001036120e65760048054604051630bfcf63b60e41b81526001600160a01b039091169163bfcf63b0916120b49188918891016156eb565b5f604051808303815f87803b1580156120cb575f5ffd5b505af11580156120dd573d5f5f3e3d5ffd5b50505050612146565b600554604051636ddae3cf60e01b81526001600160a01b0390911690636ddae3cf9061211890879087906004016156eb565b5f604051808303815f87803b15801561212f575f5ffd5b505af1158015612141573d5f5f3e3d5ffd5b505050505b50505050565b6005546001600160a01b031633146121915760405162461bcd60e51b81526020600482015260086024820152676e6f207374616b6560c01b604482015260640161065c565b61219b8282613c07565b5050565b5f546001600160a01b031633146121c85760405162461bcd60e51b815260040161065c9061567a565b5f5b825181101561179b5781600c5f8584815181106121e9576121e96156d7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805463ffffffff191663ffffffff929092169190911790556001016121ca565b6002546001600160a01b031633146122555760405162461bcd60e51b815260040161065c90615717565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146122a05760405162461bcd60e51b815260040161065c9061567a565b61219b5f82845f613127565b5f546001600160a01b031633146122d55760405162461bcd60e51b815260040161065c9061567a565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600e545f9060ff166123365760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b604482015260640161065c565b600e54610100900460ff161561237457335f908152600b602052604090205460ff166123745760405162461bcd60e51b815260040161065c906151ed565b3361237d6133e7565b836001600160a01b0316816001600160a01b0316036123b65761239f81613519565b6123a88161385f565b6123b18161394f565b61167c565b6005546001600160a01b0382811691161480156123dc57506001600160a01b0384163014155b1561242957600e54610100900460ff161561241f57335f908152600b602052604090205460ff1661241f5760405162461bcd60e51b815260040161065c906151ed565b6123b18484613c07565b6005546001600160a01b03858116911614801561244e57506001600160a01b03811615155b801561246357506001600160a01b0381163014155b156124b057600e54610100900460ff16156124a657335f908152600b602052604090205460ff166124a65760405162461bcd60e51b815260040161065c906151ed565b6123b18184613e3c565b6001600160a01b038416301480156124d657506005546001600160a01b03828116911614155b1561255557335f908152602160205260409020546302fa8ce310801561250d5750335f908152602160205260409020546302fcd638115b1561254b57335f908152602080526040812054900361254b5761252f33611e15565b335f908152601f60209081526040808320939093558052204390555b6123b18184614169565b61167c8185855f614729565b5f546001600160a01b0316331461258a5760405162461bcd60e51b815260040161065c9061567a565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146125d55760405162461bcd60e51b815260040161065c9061567a565b6101908151106126125760405162461bcd60e51b815260206004820152600860248201526706d6f7265203430360c41b604482015260640161065c565b5f5b815181101561219b57610190601954101561289c57600160195f82825461263b9190615667565b909155505060045482516001600160a01b0390911690636a62784290849084908110612669576126696156d7565b60200260200101516040518263ffffffff1660e01b815260040161269c91906001600160a01b0391909116815260200190565b6020604051808303815f875af11580156126b8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126dc9190615739565b5060175f8383815181106126f2576126f26156d7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054601d546127279190615631565b60185f84848151811061273c5761273c6156d7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160175f84848151811061277e5761277e6156d7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f8282546127b39190615667565b9250508190555068068155a43676e0000060225f8484815181106127d9576127d96156d7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f82825461280e9190615667565b925050819055504360235f84848151811061282b5761282b6156d7565b6020908102919091018101516001600160a01b031682528101919091526040015f205561285b436258fd40615667565b60245f848481518110612870576128706156d7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f20819055505b600101612614565b611d3a81613519565b5f546001600160a01b031633146128d65760405162461bcd60e51b815260040161065c9061567a565b600e805460ff19166001179055600f54156117de5742600f55565b5f546001600160a01b0316331461291a5760405162461bcd60e51b815260040161065c9061567a565b8281146129625760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b604482015260640161065c565b826129a75760405162461bcd60e51b8152602060048201526015602482015274139bc81859191c995cdcd95cc81c1c9bdd9a591959605a1b604482015260640161065c565b5f5b83811015611c39575f8585838181106129c4576129c46156d7565b90506020020160208101906129d99190615232565b90505f8484848181106129ee576129ee6156d7565b60200291909101359150506001600160a01b038216612a415760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161065c565b612a4d5f83835f613127565b6001600160a01b0382165f9081526028602052604081208054839290612a74908490615667565b9091555050602a546001600160a01b039092165f90815260296020526040902091909155506001016129a9565b5f546001600160a01b03163314612aca5760405162461bcd60e51b815260040161065c9061567a565b5f612ad430611e15565b1115612b10575f612ae53447615704565b612aee30611e15565b612af89034615631565b612b029190615648565b9050611d3a3330835f613127565b6117de333069065a4da25d3016c000005f613127565b6002546001600160a01b03163314612b505760405162461bcd60e51b815260040161065c90615717565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb90612b7e90859085906004016156eb565b6020604051808303815f875af1158015612b9a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121469190615750565b305f9081526006602052604081205481904790612bdb9085615631565b612be59190615648565b6010549091506945e155fa0110fa4000005f80828410612c0957505f905083612c6b565b826002612c17876003615631565b612c219190615648565b612c2b9086615667565b1015612c3b57508390505f612c6b565b6003612c478585615704565b612c52906002615631565b612c5c9190615648565b9150612c688286615704565b90505b8115612d8257612ca75f73cc37cf270d10134931fcd2f439577c95e2c92f0d6064612c9786600a615631565b612ca19190615648565b5f613127565b612cca5f336064612cb986605f615631565b612cc39190615648565b6001614729565b612cdc5f306064612c97866026615631565b600554612cfb905f906001600160a01b03166064612c97866007615631565b6064612d08866007615631565b612d129190615648565b60155f828254612d229190615667565b909155503390507fb4c03061fb5b7fed76389d5af8f2e0ddb09f8c70d1333abbb62582835e10accb3484600a612d5982600f615631565b612d639190615648565b6040805193845260208401929092529082015260600160405180910390a25b8015612dc057612d9a30336064612cb985605f615631565b612dc05f73cc37cf270d10134931fcd2f439577c95e2c92f0d6064612c97866005615631565b612dcd436209e340615667565b335f908152602160205260409020556064612de983605f615631565b612df39190615648565b335f908152601f602052604081208054909190612e11908490615667565b9091555050335f9081526020808052604080832043905560219091529020546302fcd6381115612e7657612e4433611e15565b335f908152601f60209081526040808320939093558052908120549003612e7657335f90815260208052604090204390555b509295945050505050565b6001600160a01b038316612ee35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065c565b6001600160a01b038216612f455760405162461bcd60e51b815260206004820152602360248201527f45524332303a20617070726f766520746f2074686520647a65726f206164647260448201526265737360e81b606482015260840161065c565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316612fd0578060105f828254612fc59190615667565b909155506130759050565b6001600160a01b0383165f90815260066020526040902054818110156130085760405162461bcd60e51b815260040161065c9061576b565b818110613041576001600160a01b0384165f9081526006602052604081208054849290613036908490615704565b909155506130739050565b6001600160a01b0384165f9081526006602052604081208054839290613068908490615704565b925050819055508091505b505b6001600160a01b0382166130b5576001600160a01b0382165f90815260066020526040812080548392906130aa908490615667565b909155506130e29050565b6001600160a01b0382165f90815260066020526040812080548392906130dc908490615667565b90915550505b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f9991815260200190565b6001600160a01b038416613151578160105f8282546131469190615667565b909155506133159050565b61315a84614a40565b61316384614b7e565b61316c84614cc1565b6001600160a01b0384165f908152601f60209081526040808320546022909252822054602a54919290914210156131b757506001600160a01b0386165f908152602860205260409020545b5f816131c38585615667565b6131cd9190615667565b6001600160a01b0389165f908152600660205260409020549091508111156132475760405162461bcd60e51b815260206004820152602760248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201526630b630b731b29960c91b606482015260840161065c565b6001600160a01b0388165f9081526006602052604081205461326a908390615704565b6001600160a01b038a165f908152600660205260409020549091508711156132a45760405162461bcd60e51b815260040161065c9061576b565b8681106132dd576001600160a01b0389165f90815260066020526040812080548992906132d2908490615704565b9091555061330f9050565b6001600160a01b0389165f9081526006602052604081208054839290613304908490615704565b925050819055508096505b50505050505b6001600160a01b038316613355576001600160a01b0383165f908152600660205260408120805484929061334a908490615667565b909155506133949050565b61335e83614a40565b61336783614b7e565b6001600160a01b0383165f908152600660205260408120805484929061338e908490615667565b90915550505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133d991815260200190565b60405180910390a350505050565b5f6133f130611e15565b905069065a4da25d3016c00000811115613488575f600f54426134149190615704565b90505f603061342b83670de0b6b3a7640000615631565b613436906001615631565b6134409190615648565b905069065a4da25d3016c000006134578285615704565b10156134745761347169065a4da25d3016c0000084615704565b90505b6134853061111160911b835f613127565b50505b5042600f55565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f198114612146578181101561350c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161065c565b6121468484848403612e81565b6001600160a01b0381165f908152601760205260409020541561381f57601c541561357757601954601c546135539064e8d4a51000615631565b61355d9190615648565b601d5f82825461356d9190615667565b90915550505f601c555b6001600160a01b0381165f908152601e60209081526040808320546017909252822054601d5464e8d4a5100092916135ae91615631565b6135b89190615704565b6135c29190615648565b9050801561381d576001600160a01b0382165f908152602460205260409020544310613705576001600160a01b0382165f9081526012602052604090205468056bc75e2d631000009061361484611e15565b61361e9190615667565b1015801561369c5750600480546040516370a0823160e01b81526001600160a01b0385811693820193909352600192909116906370a0823190602401602060405180830381865afa158015613675573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136999190615739565b10155b156137005760048054604051630bfcf63b60e41b81526001600160a01b039091169163bfcf63b0916136d29186918691016156eb565b5f604051808303815f87803b1580156136e9575f5ffd5b505af11580156136fb573d5f5f3e3d5ffd5b505050505b61381d565b6001600160a01b0382165f90815260126020526040902054680ad78ebc5ac62000009061373184611e15565b61373b9190615667565b101580156137b95750600480546040516370a0823160e01b81526001600160a01b0385811693820193909352600192909116906370a0823190602401602060405180830381865afa158015613792573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137b69190615739565b10155b1561381d5760048054604051630bfcf63b60e41b81526001600160a01b039091169163bfcf63b0916137ef9186918691016156eb565b5f604051808303815f87803b158015613806575f5ffd5b505af1158015613818573d5f5f3e3d5ffd5b505050505b505b6001600160a01b0381165f90815260176020526040902054601d546138449190615631565b6001600160a01b039091165f908152601e6020526040902055565b601554156138a05760145460155461387c9064e8d4a51000615631565b6138869190615648565b60165f8282546138969190615667565b90915550505f6015555b6001600160a01b0381165f90815260136020908152604080832054601290925282205460165464e8d4a5100092916138d791615631565b6138e19190615704565b6138eb9190615648565b9050801561390b5760055461390b906001600160a01b031683835f613127565b6001600160a01b0382165f908152601260205260409020546016546139309190615631565b6001600160a01b039092165f9081526013602052604090209190915550565b6001600160a01b0381165f9081526017602052604090205415613bc757601a54156139ad57601954601a546139899064e8d4a51000615631565b6139939190615648565b601b5f8282546139a39190615667565b90915550505f601a555b6001600160a01b0381165f908152601860209081526040808320546017909252822054601b5464e8d4a5100092916139e491615631565b6139ee9190615704565b6139f89190615648565b90508015613bc5576001600160a01b0382165f908152602460205260409020544310613af4576001600160a01b0382165f9081526012602052604090205468056bc75e2d6310000090613a4a84611e15565b613a549190615667565b10158015613ad25750600480546040516370a0823160e01b81526001600160a01b0385811693820193909352600192909116906370a0823190602401602060405180830381865afa158015613aab573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613acf9190615739565b10155b15613aef57600454613aef906001600160a01b031683835f613127565b613bc5565b6001600160a01b0382165f90815260126020526040902054680ad78ebc5ac620000090613b2084611e15565b613b2a9190615667565b10158015613ba85750600480546040516370a0823160e01b81526001600160a01b0385811693820193909352600192909116906370a0823190602401602060405180830381865afa158015613b81573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ba59190615739565b10155b15613bc557600454613bc5906001600160a01b031683835f613127565b505b6001600160a01b0381165f90815260176020526040902054601b54613bec9190615631565b6001600160a01b039091165f90815260186020526040902055565b613c108261385f565b602a545f90421015613c3657506001600160a01b0382165f908152602b60205260409020545b613c3f83614cc1565b6001600160a01b0383165f9081526025602052604081205490613c628383615667565b6001600160a01b0386165f9081526012602052604081205491925090613c89908390615704565b90505f8111613cce5760405162461bcd60e51b815260206004820152601160248201527006e6f207374616b6520616d6f756e74203607c1b604482015260640161065c565b6001600160a01b0386165f90815260126020526040902054851115613d295760405162461bcd60e51b81526020600482015260116024820152706e6f207374616b6520616d6f756e74203160781b604482015260640161065c565b80851115613d35578094505b600554613d4d906001600160a01b031687875f613127565b600554604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90613d7f90899089906004016156eb565b5f604051808303815f87803b158015613d96575f5ffd5b505af1158015613da8573d5f5f3e3d5ffd5b505050508460145f828254613dbd9190615704565b90915550506001600160a01b0386165f9081526012602052604081208054879290613de9908490615704565b90915550506001600160a01b0386165f90815260126020526040902054601654613e139190615631565b6001600160a01b0387165f90815260136020526040902055613e3486614cc1565b505050505050565b60145415613e4d57613e4d8261385f565b6001600160a01b0382165f908152601360205260408120549003613ea9576001600160a01b0382165f90815260126020526040902054601654613e909190615631565b6001600160a01b0383165f908152601360205260409020555b80613eb383611e15565b1015613eec5760405162461bcd60e51b81526020600482015260086024820152676e6f206d6f6e657960c01b604482015260640161065c565b670de0b6b3a7640000811015613f2d5760405162461bcd60e51b815260040161065c906020808252600490820152636e6f203160e01b604082015260600190565b613f3682614a40565b613f3f82614b7e565b602a545f90421015613f6557506001600160a01b0382165f908152602860205260409020545b6001600160a01b0383165f90815260226020908152604080832054601f9092528220548391613f9391615667565b613f9d9190615667565b905080613fa985611e15565b11613fe25760405162461bcd60e51b815260206004820152600960248201526837379036b7b732bc9960b91b604482015260640161065c565b5f81613fed86611e15565b613ff79190615704565b905083811015614005578093505b60055461401e9086906001600160a01b0316865f613127565b6005546040516340c10f1960e01b81526001600160a01b03909116906340c10f199061405090889088906004016156eb565b5f604051808303815f87803b158015614067575f5ffd5b505af1158015614079573d5f5f3e3d5ffd5b505050508360145f82825461408e9190615667565b90915550506001600160a01b0385165f90815260126020526040812080548692906140ba908490615667565b90915550506001600160a01b0385165f908152601260205260409020546016546140e49190615631565b6001600160a01b0386165f90815260136020908152604080832093909355602290529081208054869290614119908490615667565b90915550506001600160a01b0385165f908152602360205260409020439081905561414790621da9c0615667565b6001600160a01b039095165f9081526024602052604090209490945550505050565b3332146141b85760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792065787465726e616c2063616c6c7320616c6c6f7765640000000000604482015260640161065c565b6141c182614a40565b6141ca82614b7e565b602a545f904210156141f057506001600160a01b0382165f908152602860205260409020545b6001600160a01b0383165f90815260226020908152604080832054601f909252822054839161421e91615667565b6142289190615667565b90508061423485611e15565b116142785760405162461bcd60e51b815260206004820152601460248201527329b2b6361030b6b7bab73a103a37b7903637bb9960611b604482015260640161065c565b5f8161428386611e15565b61428d9190615704565b90508381101561429b578093505b305f908152600660205260408120548591906142b8908390615667565b6142c24784615631565b6142cc9190615648565b90505f81116143135760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161065c565b804710156143635760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161065c565b61436f8730885f614e04565b6143953073cc37cf270d10134931fcd2f439577c95e2c92f0d6064612c978a6003615631565b60646143a2876002615631565b6143ac9190615648565b60155f8282546143bc9190615667565b90915550506005546143e09030906001600160a01b03166064612c978a6002615631565b5f6143ea30611e15565b90505f6143fb61111160911b611e15565b6010549091506945e148194a5d52dc00005f818310156144335760646144228c605f615631565b61442c9190615648565b905061452a565b693f870857a3e0e380000084101561452a57690a968163f0a57b40000085106144745760646144638c605f615631565b61446d9190615648565b90506144f8565b690878678326eac900000085101580156144975750690a968163f0a57b40000085105b156144a95760646144638c604b615631565b69065a4da25d3016c0000085101580156144cc5750690878678326eac900000085105b156144de5760646144638c6037615631565b60646144eb8c6023615631565b6144f59190615648565b90505b693f870857a3e0e380000061450d8583615667565b111561452a5761452784693f870857a3e0e3800000615704565b90505b8015614541576145413061111160911b835f613127565b6001600160a01b038c166108fc606461455b896041615631565b6145659190615648565b6040518115909202915f818181858888f1935050505015801561458a573d5f5f3e3d5ffd5b505f606461459988601e615631565b6145a39190615648565b90506145ae81614e91565b50731a170a984488bc2901d3dc0ed1183fd3250a9b866108fc60646145d4846005615631565b6145de9190615648565b6040518115909202915f818181858888f19350505050158015614603573d5f5f3e3d5ffd5b5073cc37cf270d10134931fcd2f439577c95e2c92f0d6108fc6064614629846005615631565b6146339190615648565b6040518115909202915f818181858888f19350505050158015614658573d5f5f3e3d5ffd5b506004546001600160a01b03166108fc606461467584600a615631565b61467f9190615648565b6040518115909202915f818181858888f193505050501580156146a4573d5f5f3e3d5ffd5b5060646146b282600a615631565b6146bc9190615648565b601c5f8282546146cc9190615667565b9091555050604080515f808252602082018f90528183018a90526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050505050505050565b335f908152600a602052604090205460ff166147ab57600954335f908152600c602052604090205443916147669163ffffffff91821691166157b1565b63ffffffff16106147895760405162461bcd60e51b815260040161065c906157cd565b335f908152600c60205260409020805463ffffffff19164363ffffffff161790555b61214684848484613127565b601454156147c8576147c88261385f565b6001600160a01b0382165f908152601360205260408120549003614824576001600160a01b0382165f9081526012602052604090205460165461480b9190615631565b6001600160a01b0383165f908152601360205260409020555b8061482e83611e15565b10156148675760405162461bcd60e51b81526020600482015260086024820152676e6f206d6f6e657960c01b604482015260640161065c565b61487082614a40565b61487982614b7e565b602a545f9042101561489f57506001600160a01b0382165f908152602860205260409020545b6001600160a01b0383165f90815260226020908152604080832054601f90925282205483916148cd91615667565b6148d79190615667565b9050806148e385611e15565b1161491c5760405162461bcd60e51b815260206004820152600960248201526837379036b7b732bc9960b91b604482015260640161065c565b5f8161492786611e15565b6149319190615704565b90508381101561493f578093505b6005546149589086906001600160a01b0316865f613127565b6005546040516340c10f1960e01b81526001600160a01b03909116906340c10f199061498a90889088906004016156eb565b5f604051808303815f87803b1580156149a1575f5ffd5b505af11580156149b3573d5f5f3e3d5ffd5b505050508360145f8282546149c89190615667565b90915550506001600160a01b0385165f90815260126020526040812080548692906149f4908490615667565b90915550506001600160a01b0385165f90815260126020526040902054601654614a1e9190615631565b6001600160a01b039095165f9081526013602052604090209490945550505050565b6001600160a01b0381165f908152602160205260408120549003614a615750565b6001600160a01b0381165f908152602160209081526040808320549180529091205410614aa1576001600160a01b03165f908152601f6020526040812055565b6001600160a01b0381165f908152602160205260409020544310614adc576001600160a01b0381165f908152601f6020526040812055614b64565b6001600160a01b0381165f9081526020808052604080832054602190925290912054614b089190615704565b6001600160a01b0382165f908152601f6020908152604080832054602190925290912054614b37904390615704565b614b419190615631565b614b4b9190615648565b6001600160a01b0382165f908152601f60205260409020555b6001600160a01b03165f9081526020805260409020439055565b6001600160a01b0381165f908152602460205260408120549003614b9f5750565b6001600160a01b0381165f9081526024602090815260408083205460239092529091205410614be1576001600160a01b03165f90815260226020526040812055565b6001600160a01b0381165f908152602460205260409020544310614c1c576001600160a01b0381165f90815260226020526040812055614ca6565b6001600160a01b0381165f90815260236020908152604080832054602490925290912054614c4a9190615704565b6001600160a01b0382165f90815260226020908152604080832054602490925290912054614c79904390615704565b614c839190615631565b614c8d9190615648565b6001600160a01b0382165f908152602260205260409020555b6001600160a01b03165f908152602360205260409020439055565b6001600160a01b0381165f908152602760205260408120549003614ce25750565b6001600160a01b0381165f9081526027602090815260408083205460269092529091205410614d24576001600160a01b03165f90815260256020526040812055565b6001600160a01b0381165f908152602760205260409020544310614d5f576001600160a01b0381165f90815260256020526040812055614de9565b6001600160a01b0381165f90815260266020908152604080832054602790925290912054614d8d9190615704565b6001600160a01b0382165f90815260256020908152604080832054602790925290912054614dbc904390615704565b614dc69190615631565b614dd09190615648565b6001600160a01b0382165f908152602560205260409020555b6001600160a01b03165f908152602660205260409020439055565b335f908152600a602052604090205460ff166147ab57600954335f908152600d60205260409020544391614e419163ffffffff91821691166157b1565b63ffffffff1610614e645760405162461bcd60e51b815260040161065c906157cd565b335f908152600d60205260409020805463ffffffff19164363ffffffff1617905561214684848484613127565b305f9081526006602052604081205481904790614eae9085615631565b614eb89190615648565b6010549091506945e155fa0110fa4000005f80828410614edc57505f905083614f3e565b826002614eea876003615631565b614ef49190615648565b614efe9086615667565b1015614f0e57508390505f614f3e565b6003614f1a8585615704565b614f25906002615631565b614f2f9190615648565b9150614f3b8286615704565b90505b811561502657614f6a5f73cc37cf270d10134931fcd2f439577c95e2c92f0d6064612c9786600a615631565b614f7c5f336064612cb986605f615631565b614f8e5f306064612c97866028615631565b600454614fad905f906001600160a01b03166064612c97866003615631565b600554614fcc905f906001600160a01b03166064612c97866002615631565b337fb4c03061fb5b7fed76389d5af8f2e0ddb09f8c70d1333abbb62582835e10accb3484600a614ffd82600f615631565b6150079190615648565b6040805193845260208401929092529082015260600160405180910390a25b801561507c5761503e30336064612cb985605f615631565b60045461505d9030906001600160a01b03166064612c97896003615631565b60055461507c9030906001600160a01b03166064612c97896002615631565b61508a620232806004615631565b6150949043615667565b335f90815260216020908152604080832093909355601f905290812080548792906150c0908490615667565b9091555050335f9081526020808052604080832043905560219091529020546302fa8ce31080156151025750335f908152602160205260409020546302fcd638115b1561514057335f90815260208052604081205490036151405761512433611e15565b335f908152601f60209081526040808320939093558052204390555b606461514d866003615631565b6151579190615648565b601a5f8282546151679190615667565b909155506064905061517a866002615631565b6151849190615648565b60155f8282546151949190615667565b9091555050604080518881525f602082018190528183015260608101879052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a2509295945050505050565b6020808252600790820152663737ba1031b0b760c91b604082015260600190565b6001600160a01b0381168114611d3a575f5ffd5b803561522d8161520e565b919050565b5f60208284031215615242575f5ffd5b813561524d8161520e565b9392505050565b8015158114611d3a575f5ffd5b5f60208284031215615271575f5ffd5b813561524d81615254565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f604083850312156152c2575f5ffd5b82356152cd8161520e565b946020939093013593505050565b5f5f604083850312156152ec575f5ffd5b8235915060208301356152fe81615254565b809150509250929050565b5f5f6040838503121561531a575f5ffd5b82356153258161520e565b915060208301356152fe8161520e565b5f5f5f60608486031215615347575f5ffd5b83356153528161520e565b925060208401356153628161520e565b929592945050506040919091013590565b5f5f83601f840112615383575f5ffd5b50813567ffffffffffffffff81111561539a575f5ffd5b6020830191508360208260051b85010111156153b4575f5ffd5b9250929050565b5f5f5f5f604085870312156153ce575f5ffd5b843567ffffffffffffffff8111156153e4575f5ffd5b6153f087828801615373565b909550935050602085013567ffffffffffffffff81111561540f575f5ffd5b61541b87828801615373565b95989497509550505050565b5f5f5f60608486031215615439575f5ffd5b83356154448161520e565b95602085013595506040909401359392505050565b5f5f6040838503121561546a575f5ffd5b82356154758161520e565b915060208301356152fe81615254565b5f5f5f5f60808587031215615498575f5ffd5b84356154a38161520e565b966020860135965060408601359560600135945092505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126154e0575f5ffd5b813567ffffffffffffffff8111156154fa576154fa6154bd565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715615527576155276154bd565b604052918252602081850181019290810186841115615544575f5ffd5b6020860192505b8383101561556a5761555c83615222565b81526020928301920161554b565b5095945050505050565b5f5f60408385031215615585575f5ffd5b823567ffffffffffffffff81111561559b575f5ffd5b6155a7858286016154d1565b925050602083013563ffffffff811681146152fe575f5ffd5b5f5f604083850312156155d1575f5ffd5b8235915060208301356152fe8161520e565b5f602082840312156155f3575f5ffd5b813567ffffffffffffffff811115615609575f5ffd5b615615848285016154d1565b949350505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176116825761168261561d565b5f8261566257634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156116825761168261561d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d6e6f207065726d697373696f6e7360901b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03929092168252602082015260400190565b818103818111156116825761168261561d565b60208082526008908201526737379030b236b4b760c11b604082015260600190565b5f60208284031215615749575f5ffd5b5051919050565b5f60208284031215615760575f5ffd5b815161524d81615254565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b63ffffffff81811683821601908111156116825761168261561d565b60208082526034908201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604082015273696e2074686520636f6f6c696e6720626c6f636b60601b60608201526080019056fea26469706673582212209518b3f5befd08cebe7524adad8c32aeaa1eddf44b3911d54995be2d6b95c13f64736f6c634300081e0033