Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 88317261 | 2 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidConfiguration","type":"error"},{"inputs":[],"name":"InvalidInput","type":"error"},{"inputs":[],"name":"InvalidObservationState","type":"error"},{"inputs":[],"name":"InvalidState","type":"error"},{"inputs":[],"name":"ObservationTooOld","type":"error"},{"inputs":[],"name":"OnlyFactory","type":"error"},{"inputs":[],"name":"PaymentFailed","type":"error"},{"inputs":[],"name":"PoolLocked","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount0","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"amount1","type":"uint128"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint128","name":"amount0","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"amount1","type":"uint128"}],"name":"CollectProtocol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid1","type":"uint256"}],"name":"Flash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"observationCardinalityNextOld","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"observationCardinalityNextNew","type":"uint16"}],"name":"IncreaseObservationCardinalityNext","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"oldDenominator","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"newDenominator","type":"uint8"}],"name":"ProtocolFeeDenominatorChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"feeProtocol0Old","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol1Old","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol0New","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol1New","type":"uint8"}],"name":"SetFeeProtocol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"int256","name":"amount0","type":"int256"},{"indexed":false,"internalType":"int256","name":"amount1","type":"int256"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"uint128","name":"liquidity","type":"uint128"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Swap","type":"event"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimProtocolFees","outputs":[{"internalType":"uint128","name":"amount0","type":"uint128"},{"internalType":"uint128","name":"amount1","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount0Requested","type":"uint128"},{"internalType":"uint128","name":"amount1Requested","type":"uint128"}],"name":"collect","outputs":[{"internalType":"uint128","name":"amount0","type":"uint128"},{"internalType":"uint128","name":"amount1","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeGrowthGlobal0X128","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeGrowthGlobal1X128","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"}],"name":"increaseObservationCardinalityNext","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidity","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLiquidityPerTick","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"observations","outputs":[{"internalType":"uint32","name":"blockTimestamp","type":"uint32"},{"internalType":"int56","name":"tickCumulative","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityCumulativeX128","type":"uint160"},{"internalType":"bool","name":"initialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"secondsAgos","type":"uint32[]"}],"name":"observe","outputs":[{"internalType":"int56[]","name":"tickCumulatives","type":"int56[]"},{"internalType":"uint160[]","name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"secondsAgos","type":"uint32[]"}],"name":"observeTruncated","outputs":[{"internalType":"int56[]","name":"tickCumulatives","type":"int56[]"},{"internalType":"uint160[]","name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"positions","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"feeGrowthInside0LastX128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthInside1LastX128","type":"uint256"},{"internalType":"uint256","name":"tokensOwed0","type":"uint256"},{"internalType":"uint256","name":"tokensOwed1","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFees","outputs":[{"internalType":"uint128","name":"token0","type":"uint128"},{"internalType":"uint128","name":"token1","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quoteIsToken0","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"denominator","type":"uint8"}],"name":"setProtocolFeeDenominator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slot0","outputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"uint16","name":"observationIndex","type":"uint16"},{"internalType":"uint16","name":"observationCardinality","type":"uint16"},{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"},{"internalType":"uint8","name":"feeProtocol","type":"uint8"},{"internalType":"bool","name":"unlocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"name":"snapshotCumulativesInside","outputs":[{"internalType":"int56","name":"tickCumulativeInside","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityInsideX128","type":"uint160"},{"internalType":"uint32","name":"secondsInside","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[{"internalType":"int256","name":"amount0","type":"int256"},{"internalType":"int256","name":"amount1","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int16","name":"","type":"int16"}],"name":"tickBitmap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tickSpacing","outputs":[{"internalType":"int24","name":"","type":"int24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int24","name":"","type":"int24"}],"name":"ticks","outputs":[{"internalType":"uint128","name":"liquidityGross","type":"uint128"},{"internalType":"int128","name":"liquidityNet","type":"int128"},{"internalType":"uint256","name":"feeGrowthOutside0X128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthOutside1X128","type":"uint256"},{"internalType":"int56","name":"tickCumulativeOutside","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityOutsideX128","type":"uint160"},{"internalType":"uint32","name":"secondsOutside","type":"uint32"},{"internalType":"bool","name":"initialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610152575f3560e01c80630dfe168114610156578063128acb08146101935780631a686502146101bb5780631ad8b03b146101e6578063252c09d71461021257806332148f671461025f57806337de1c3f146102745780633850c7bd146102955780633c8a7d8d14610339578063461413191461034c578063490e6cbc146103635780634a7d0369146103765780634f1eb3d81461037e578063514ea4bf146103915780635339c2961461040957806370cf754a14610428578063720d30a51461044f578063883bdbfd146104625780639f12b90f14610475578063a34123a7146104ac578063a38807f2146104bf578063c45a015514610500578063d0c93a7c14610527578063d21220a714610561578063ddca3f4314610588578063f3058399146105c3578063f30dba93146105cc578063f637731d1461069f575b5f80fd5b61017d7f00000000000000000000000015f3385625d7e364c5a6216fbbceadf10fa90e7d81565b60405161018a91906151d2565b60405180910390f35b6101a66101a1366004615244565b6106b2565b6040805192835260208301919091520161018a565b6004546101ce906001600160801b031681565b6040516001600160801b03909116815260200161018a565b600354610204906001600160801b0380821691600160801b90041682565b60405161018a9291906152c3565b6102256102203660046152dd565b6112a4565b6040805163ffffffff909516855260069390930b60208501526001600160a01b03909116918301919091521515606082015260800161018a565b61027261026d3660046152f4565b6112e8565b005b610287610282366004615315565b6113ca565b60405161018a929190615384565b5f546102e8906001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b604080516001600160a01b03909816885260029690960b602088015261ffff94851695870195909552918316606086015291909116608084015260ff1660a0830152151560c082015260e00161018a565b6101a6610347366004615437565b611448565b61035560025481565b60405190815260200161018a565b610272610371366004615481565b61167e565b610204611a61565b61020461038c3660046154e5565b611c0f565b6103d761039f3660046152dd565b60076020525f9081526040902080546001820154600283015460038401546004909401546001600160801b0390931693919290919085565b604080516001600160801b0390961686526020860194909452928401919091526060830152608082015260a00161018a565b610355610417366004615548565b60066020525f908152604090205481565b6101ce7f00000000000000000000000000000000000ec53505f15855641a8a5b46adaab981565b61027261045d366004615568565b611de3565b610287610470366004615315565b611f33565b61049c7f000000000000000000000000000000000000000000000000000000000000000181565b604051901515815260200161018a565b6101a66104ba366004615588565b611fad565b6104d26104cd3660046155c8565b612105565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff169082015260600161018a565b61017d7f000000000000000000000000e7fef2bc860b25bbdeb6f6ab96d88baaa77ddad781565b61054e7f000000000000000000000000000000000000000000000000000000000000019081565b60405160029190910b815260200161018a565b61017d7f000000000000000000000000e87cf18c26498f4d1d88d0d81d2c0433750b48bb81565b6105af7f0000000000000000000000000000000000000000000000000000000000004e2081565b60405162ffffff909116815260200161018a565b61035560015481565b6106436105da3660046155f9565b60056020525f908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b90600160381b81046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b604080516001600160801b039099168952600f9790970b602089015295870194909452606086019290925260060b60808501526001600160a01b031660a084015263ffffffff1660c0830152151560e08201526101000161018a565b6102726106ad366004615612565b612303565b5f806106bc612482565b855f036106dc5760405163b4fa3fb360e01b815260040160405180910390fd5b6040805160e0810182525f546001600160a01b0381168252600160a01b810460020b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c0820181905261077457604051632e13674560e01b815260040160405180910390fd5b876107bf57805f01516001600160a01b0316866001600160a01b03161115806107ba575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b03871610155b6107f1565b805f01516001600160a01b0316866001600160a01b03161015806107f157506401000276a36001600160a01b03871611155b1561080f5760405163b4fa3fb360e01b815260040160405180910390fd5b5f805460ff60f01b191690556108354260208301516004546001600160801b03166124b8565b5f6040518060c001604052808a6108575760048460a0015160ff16901c610868565b60108460a001516108689190615641565b60ff1681526004546001600160801b031660208201526040014263ffffffff1681526020015f60060b81526020015f6001600160a01b031681526020015f151581525090505f80891390505f6040518060e001604052808b81526020015f8152602001855f01516001600160a01b03168152602001856020015160020b81526020018c6108f7576002546108fb565b6001545b81526020015f6001600160801b0316815260200184602001516001600160801b031681525090505b8051158015906109495750886001600160a01b031681604001516001600160a01b031614155b15610e5e576040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915260408201516001600160a01b0316815260608201516109c9906006907f00000000000000000000000000000000000000000000000000000000000001908f6124c8565b1515604083015260020b60208201819052620d89e71913156109f457620d89e7196020820152610a28565b610a01620d89e719615676565b60020b816020015160020b1315610a2857610a1f620d89e719615676565b60020b60208201525b610a35816020015161267d565b6001600160a01b031660608201526040820151610ac6908d610a6f578b6001600160a01b031683606001516001600160a01b031611610a89565b8b6001600160a01b031683606001516001600160a01b0316105b610a97578260600151610a99565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000004e20612a92565b60c085015260a084015260808301526001600160a01b031660408301528215610b3e57610b058160c001518260800151610b009190615696565b612cab565b82518390610b149083906156a9565b90525060a0810151610b3490610b2990612cab565b602084015190612cbf565b6020830152610b8a565b610b4b8160a00151612cab565b82518390610b5a9083906156cf565b90525060c08101516080820151610b8491610b7991610b009190615696565b602084015190612ce3565b60208301525b835160ff1615610be1575f845f015160ff168260c00151610bab91906156f6565b9050808260c001818151610bbf9190615709565b90525060a0830151610bd19082612d01565b6001600160801b031660a0840152505b60c08201516001600160801b031615610c2957610c148160c00151600160801b8460c001516001600160801b0316612d4d565b82608001818151610c259190615696565b9052505b80606001516001600160a01b031682604001516001600160a01b031603610e2257806040015115610df5578360a00151610cad57610c8f84604001515f8760200151886040015188602001518a606001516008612e01909695949392919063ffffffff16565b6001600160a01b0316608086015260060b6060850152600160a08501525b5f610dc382602001518e610cc357600154610cc9565b84608001515b8f610cd8578560800151610cdc565b6002545b608089015160608a01516040808c0151600296870b5f908152600560205291909120600181018054909603909555948401805490930390925560038301805463ffffffff600160d81b66ffffffffffffff196001600160a01b03600160381b8086048216909703169095029485166001600160d81b031984161766ffffffffffffff600160381b600160d81b03198516871760060b9097039690961695861781900482169097031690950266ffffffffffffff63ffffffff60d81b0119929092166001600160f81b031990951694909417919091171790915554600160801b9004600f0b90565b90508c15610dd757610dd48161571c565b90505b610de58360c0015182612fad565b6001600160801b031660c0840152505b8b610e04578060200151610e15565b60018160200151610e159190615735565b60020b6060830152610e58565b805f01516001600160a01b031682604001516001600160a01b031614610e5857610e4f826040015161306c565b60020b60608301525b50610923565b836020015160020b816060015160020b14610f26575f80610eab86604001518660400151886020015188602001518a606001518b60800151600861339f909695949392919063ffffffff16565b604085015160608601515f805463ffffffff60b81b1916600160c81b61ffff9586160261ffff60b81b191617600160b81b9590941694909402929092176001600160b81b031916600160a01b62ffffff909316929092026001600160a01b031916919091176001600160a01b0390911617905550610f4a9050565b60408101515f80546001600160a01b0319166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b031614610f905760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a15610fe157608081015160015560035460a0820151610fbc916001600160801b039081169116612d01565b600380546001600160801b0319166001600160801b039290921691909117905561102c565b608081015160025560035460a082015161100e916001600160801b03600160801b90910481169116612d01565b600380546001600160801b03928316600160801b0292169190911790555b8115158b15151461104d5760208101518151611048908c6156a9565b61105f565b8051611059908b6156a9565b81602001515b90965094508a1561113e575f8512156110a5576110a57f000000000000000000000000e87cf18c26498f4d1d88d0d81d2c0433750b48bb8d6110a08861575a565b61351e565b5f6110ae613612565b60405163fa461e3360e01b8152909150339063fa461e33906110da908a908a908e908e9060040161579c565b5f604051808303815f87803b1580156110f1575f80fd5b505af1158015611103573d5f803e3d5ffd5b5050505061110f613612565b611119828961371f565b1115611138576040516307a4ced160e51b815260040160405180910390fd5b50611209565b5f861215611174576111747f00000000000000000000000015f3385625d7e364c5a6216fbbceadf10fa90e7d8d6110a08961575a565b5f61117d613738565b60405163fa461e3360e01b8152909150339063fa461e33906111a9908a908a908e908e9060040161579c565b5f604051808303815f87803b1580156111c0575f80fd5b505af11580156111d2573d5f803e3d5ffd5b505050506111de613738565b6111e8828861371f565b1115611207576040516307a4ced160e51b815260040160405180910390fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516958101959095526001600160801b039092169084015260020b60808301528d169033907fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679060a00160405180910390a350505f805460ff60f01b1916600160f01b17905550919890975095505050505050565b60088161ffff81106112b4575f80fd5b015463ffffffff81169150600160201b810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b5f54600160f01b900460ff1661131157604051632e13674560e01b815260040160405180910390fd5b5f805460ff60f01b19169055611325612482565b5f8054600160d81b900461ffff16906113406008838561377e565b5f805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146113aa576040805161ffff8085168252831660208201527fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a910160405180910390a15b6113b38361380e565b50505f805460ff60f01b1916600160f01b17905550565b60608061143c428585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505062020006546004546201000795949350600160301b820460020b925061ffff808316926001600160801b0390921691620100009004166138a1565b915091505b9250929050565b5f80548190600160f01b900460ff1661147457604051632e13674560e01b815260040160405180910390fd5b5f805460ff60f01b191681556001600160801b03861690036114a95760405163baf3f0f760e01b815260040160405180910390fd5b5f806114f660405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016114ec8a6001600160801b03166139e8565b600f0b90526139fd565b92509250508193508092505f805f86111561151657611513613612565b91505b841561152757611524613738565b90505b60405163d348799760e01b8152339063d34879979061155090899089908d908d9060040161579c565b5f604051808303815f87803b158015611567575f80fd5b505af1158015611579573d5f803e3d5ffd5b505050505f8611801561159b575061158f613612565b611599838861371f565b115b156115b9576040516307a4ced160e51b815260040160405180910390fd5b5f851180156115d757506115cb613738565b6115d5828761371f565b115b156115f5576040516307a4ced160e51b815260040160405180910390fd5b604080513381526001600160801b038b1660208201529081018790526060810186905260028b810b91908d900b906001600160a01b038f16907f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde9060800160405180910390a450505f805460ff60f01b1916600160f01b17905550919890975095505050505050565b5f54600160f01b900460ff166116a757604051632e13674560e01b815260040160405180910390fd5b5f805460ff60f01b191690556116bb612482565b6004546001600160801b03165f8190036116e85760405163baf3f0f760e01b815260040160405180910390fd5b5f61171c867f0000000000000000000000000000000000000000000000000000000000004e2062ffffff16620f4240613c62565b90505f611752867f0000000000000000000000000000000000000000000000000000000000004e2062ffffff16620f4240613c62565b90505f61175d613612565b90505f611768613738565b9050881561179b5761179b7f00000000000000000000000015f3385625d7e364c5a6216fbbceadf10fa90e7d8b8b61351e565b87156117cc576117cc7f000000000000000000000000e87cf18c26498f4d1d88d0d81d2c0433750b48bb8b8a61351e565b604051630e9cbafb60e41b8152339063e9cbafb0906117f590879087908c908c9060040161579c565b5f604051808303815f87803b15801561180c575f80fd5b505af115801561181e573d5f803e3d5ffd5b505050505f61182b613612565b90505f611836613738565b905081611843858861371f565b1115611862576040516307a4ced160e51b815260040160405180910390fd5b8061186d848761371f565b111561188c576040516307a4ced160e51b815260040160405180910390fd5b5f6118978584615709565b90505f6118a48584615709565b90508115611957575f80546118c590601090600160e81b900460ff16615641565b90505f60ff8216156118e3576118de60ff8316856156f6565b6118e5565b5f5b6003549091506118fe906001600160801b031682612d01565b600380546001600160801b0319166001600160801b039290921691909117905561193f61192b8286615709565b600160801b8d6001600160801b0316612d4d565b60015f82825461194f9190615696565b909155505050505b80156119ea575f8054600160e81b900460041c600f169081156119865761198160ff8316846156f6565b611988565b5f5b6003549091506119a890600160801b90046001600160801b031682612d01565b600380546001600160801b03928316600160801b0292169190911790556119d261192b8285615709565b60025f8282546119e29190615696565b909155505050505b604080518e8152602081018e9052908101839052606081018290526001600160a01b038f169033907fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6339060800160405180910390a350505f805460ff60f01b1916600160f01b179055505050505050505050505050565b5f80548190600160f01b900460ff16611a8d57604051632e13674560e01b815260040160405180910390fd5b50505f805460ff60f01b191690556003546001600160801b0380821691600160801b9004168115611b1c57600380546001600160801b0319169055611b1c7f00000000000000000000000015f3385625d7e364c5a6216fbbceadf10fa90e7d7f00000000000000000000000019b04f2e86ffdf26510acf25344c406240214d5f6001600160801b03851661351e565b6001600160801b03811615611b8c57600380546001600160801b03908116909155611b8c907f000000000000000000000000e87cf18c26498f4d1d88d0d81d2c0433750b48bb907f00000000000000000000000019b04f2e86ffdf26510acf25344c406240214d5f90841661351e565b7f00000000000000000000000019b04f2e86ffdf26510acf25344c406240214d5f6001600160a01b0316336001600160a01b03167f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b1518484604051611bf19291906152c3565b60405180910390a35f805460ff60f01b1916600160f01b1790559091565b5f80548190600160f01b900460ff16611c3b57604051632e13674560e01b815260040160405180910390fd5b5f805460ff60f01b19168155611c546007338989613cab565b9050846001600160801b0316816003015410611c705784611c76565b80600301545b9250836001600160801b0316816004015410611c925783611c98565b80600401545b91506001600160801b03831615611cff57826001600160801b0316816003015f828254611cc59190615709565b90915550611cff90507f00000000000000000000000015f3385625d7e364c5a6216fbbceadf10fa90e7d896001600160801b03861661351e565b6001600160801b03821615611d6457816001600160801b0316816004015f828254611d2a9190615709565b90915550611d6490507f000000000000000000000000e87cf18c26498f4d1d88d0d81d2c0433750b48bb896001600160801b03851661351e565b604080516001600160a01b038a1681526001600160801b0385811660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4505f805460ff60f01b1916600160f01b17905590969095509350505050565b5f54600160f01b900460ff16611e0c57604051632e13674560e01b815260040160405180910390fd5b5f805460ff60f01b19169055336001600160a01b037f000000000000000000000000e7fef2bc860b25bbdeb6f6ab96d88baaa77ddad71614611e6157604051630636a15760e11b815260040160405180910390fd5b611e6a81613d02565b5f805460ff60e81b198116600160e81b60ff8516600486901b60f01681178202929092179093556040805193909204600f168084526020840191909152917f43c372090f11e31fda7dc88184d56c70a88de115bc0d33de134423a4ad677fdf910160405180910390a16040805160ff83811680835260208301528416818301819052606082015290517f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1339181900360800190a150505f805460ff60f01b1916600160f01b179055565b606080611f3e612482565b61143c428585808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b9004166138a1565b5f80548190600160f01b900460ff16611fd957604051632e13674560e01b815260040160405180910390fd5b5f805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061202d90606081016120246001600160801b038a166139e8565b6114ec9061571c565b9250925092508161203d9061575a565b94506120488161575a565b93505f85118061205757505f84115b1561208f5784836003015f82825461206f9190615696565b9250508190555083836004015f8282546120899190615696565b90915550505b604080516001600160801b038816815260208101879052908101859052600288810b91908a900b9033907f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c9060600160405180910390a450505f805460ff60f01b1916600160f01b179055509094909350915050565b5f805f612110612482565b61211a8585613d45565b600285810b5f908152600560205260408082209287900b825281206003830154600681900b93600160381b82046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061218d5760405163baf3f0f760e01b815260040160405180910390fd5b6003820154600681900b9850600160381b81046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806121e25760405163baf3f0f760e01b815260040160405180910390fd5b50506040805160e0810182525f546001600160a01b0381168252600160a01b8104600290810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e900b13159050612283575093909403965090039350900390506122fc565b8a60020b816020015160020b12156122ed5760208101516040820151600454606084015142935f9384936122cb9360089388938793919290916001600160801b031690612e01565b9a9003989098039b5050949096039290920396509091030392506122fc915050565b50949093039650039350900390505b9250925092565b5f546001600160a01b03161561232c5760405163baf3f0f760e01b815260040160405180910390fd5b5f8054600160e81b900460ff16906123438361306c565b90505f80612352600842613d9b565b6040805160e0810182526001600160a01b038916808252600288900b60208301525f82840181905261ffff808716606085018190529086166080850181905260ff8c1660a08601819052600160c090960195909552825460ff60f01b19600160e81b9096029590951661ffff60e81b19600160d81b90920261ffff60d81b19600160c81b9094029390931665ffffffffffff60b81b1962ffffff8e16600160a01b026001600160b81b0319909816909617969096179490941694909417179290921617600160f01b1790555191935091507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c959061246990879086906001600160a01b0392909216825260020b602082015260400190565b60405180910390a161247b4284613dd8565b5050505050565b306001600160a01b037f0000000000000000000000004a22059ad7e6f9fdcdfc5edc989a9f59647cfbeb16146124b6575f80fd5b565b6124c3838383613e8d565b505050565b5f80806124d585876157c5565b90505f8660020b1280156124f457506124ee85876157fd565b60020b15155b1561250757806125038161581e565b9150505b83156125b1575f8061251883613fb4565b90925090505f600160ff831681901b906125329082615709565b61253c9190615696565b600184900b5f90815260208c90526040902054811680151596509091508561257b578861256c60ff851687615735565b612576919061583f565b6125a6565b8861258582613fd0565b61258f908561585e565b61259c9060ff1687615735565b6125a6919061583f565b965050505050612673565b5f806125c66125c1846001615877565b613fb4565b90925090505f6125dd600160ff841681901b615709565b600184900b5f90815260208c905260409020549019908116801515965090915085612635578861260e8460ff61585e565b60ff1661261c876001615877565b6126269190615877565b612630919061583f565b61266c565b8883612640836140b8565b61264a919061585e565b60ff16612658876001615877565b6126629190615877565b61266c919061583f565b9650505050505b5094509492505050565b5f805f8360020b12612692578260020b61269f565b8260020b61269f9061575a565b90506126ae620d89e719615676565b62ffffff168111156126eb5760405162461bcd60e51b81526020600482015260016024820152601560fa1b60448201526064015b60405180910390fd5b5f816001165f0361270057600160801b612712565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b031690506002821615612747576080612742826ffff97272373d413259a46990580e213a61589c565b901c90505b600482161561277157608061276c826ffff2e50f5f656932ef12357cf3c7fdcc61589c565b901c90505b600882161561279b576080612796826fffe5caca7e10e4e61c3624eaa0941cd061589c565b901c90505b60108216156127c55760806127c0826fffcb9843d60f6159c9db58835c92664461589c565b901c90505b60208216156127ef5760806127ea826fff973b41fa98c081472e6896dfb254c061589c565b901c90505b6040821615612819576080612814826fff2ea16466c96a3843ec78b326b5286161589c565b901c90505b608082161561284357608061283e826ffe5dee046a99a2a811c461f1969c305361589c565b901c90505b61010082161561286e576080612869826ffcbe86c7900a88aedcffc83b479aa3a461589c565b901c90505b610200821615612899576080612894826ff987a7253ac413176f2b074cf7815e5461589c565b901c90505b6104008216156128c45760806128bf826ff3392b0822b70005940c7a398e4b70f361589c565b901c90505b6108008216156128ef5760806128ea826fe7159475a2c29b7443b29c7fa6e889d961589c565b901c90505b61100082161561291a576080612915826fd097f3bdfd2022b8845ad8f792aa582561589c565b901c90505b612000821615612945576080612940826fa9f746462d870fdf8a65dc1f90e061e561589c565b901c90505b61400082161561297057608061296b826f70d869a156d2a1b890bb3df62baf32f761589c565b901c90505b61800082161561299b576080612996826f31be135f97d08fd981231505542fcfa661589c565b901c90505b620100008216156129c75760806129c2826f09aa508b5b7a84e1c677de54f3e99bc961589c565b901c90505b620200008216156129f25760806129ed826e5d6af8dedb81196699c329225ee60461589c565b901c90505b62040000821615612a1c576080612a17826d2216e584f5fa1ea926041bedfe9861589c565b901c90505b62080000821615612a44576080612a3f826b048a170391f7dc42444e8fa261589c565b901c90505b5f8460020b1315612a5d57612a5a815f196156f6565b90505b612a6b600160201b826158b3565b15612a77576001612a79565b5f5b612a8a9060ff16602083901c615696565b949350505050565b5f8080806001600160a01b03808916908a1610158187128015908390612b1e575f612ad28a612ac48b620f42406158c6565b62ffffff16620f4240612d4d565b905083612aeb57612ae68d8d8d60016141e0565b612af8565b612af88c8e8d600161425d565b9650868110612b09578b9750612b18565b612b158d8c8387614320565b97505b50612b81565b612b298960016156cf565b612b329061575a565b612b3d906001615696565b905082612b5557612b508c8c8c5f61425d565b612b61565b612b618b8d8c5f6141e0565b9450848110612b72578a9650612b81565b612b7e8c8b8386614368565b96505b6001600160a01b038b8116908816148315612be357808015612ba05750825b612bb657612bb1888e8d600161425d565b612bb8565b865b9650808015612bc5575082155b612bda57612bd5888e8d5f6141e0565b612bdc565b855b9550612c2c565b808015612bed5750825b612c0357612bfe8d898d60016141e0565b612c05565b865b9650808015612c12575082155b612c2757612c228d898d5f61425d565b612c29565b855b95505b82158015612c3957508186115b15612c42578195505b828015612c6157508b6001600160a01b0316886001600160a01b031614155b15612c7757612c70878b615709565b9450612c9b565b612c988762ffffff8b16612c8e8c620f42406158c6565b62ffffff16613c62565b94505b5050505095509550955095915050565b5f600160ff1b8210612cbb575f80fd5b5090565b5f8082121583612ccf84826156a9565b925082131514612cdd575f80fd5b92915050565b5f8082121583612cf384826156cf565b925082121514612cdd575f80fd5b5f612d13836001600160801b036158e1565b6001600160801b0316821115612d3c5760405163baf3f0f760e01b815260040160405180910390fd5b612d468284615900565b9392505050565b5f80805f19858709858702925082811083820303915050805f03612d81575f8411612d76575f80fd5b508290049050612d46565b808411612d8c575f80fd5b5f848688098084039381119092039190505f85612dab81196001615696565b1695869004956002600388028118808902820302808902820302808902820302808902820302808902820302808902909103025f8290038290046001019490940294049390931791909102925050509392505050565b5f808663ffffffff165f03612ea7575f898661ffff1661ffff8110612e2857612e2861591f565b60408051608081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a1614612e9357612e90818a89886143ae565b90505b806020015181604001519250925050612fa1565b8688035f80612ebb8c8c858c8c8c8c614454565b91509150815f015163ffffffff168363ffffffff1603612eeb578160200151826040015194509450505050612fa1565b805f015163ffffffff168363ffffffff1603612f17578060200151816040015194509450505050612fa1565b5f825f0151825f01510390505f835f0151850390508063ffffffff168263ffffffff1660060b856020015185602001510360060b81612f5857612f5861562d565b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b03160281612f9057612f9061562d565b048560400151019650965050505050505b97509795505050505050565b5f8082600f0b1215613019576001600160801b038316612fcc8361571c565b612fd690856158e1565b9150816001600160801b0316106130145760405162461bcd60e51b81526020600482015260026024820152614c5360f01b60448201526064016126e2565b612cdd565b6001600160801b03831661302d8385615900565b9150816001600160801b03161015612cdd5760405162461bcd60e51b81526020600482015260026024820152614c4160f01b60448201526064016126e2565b5f6401000276a36001600160a01b038316108015906130a7575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b6130d75760405162461bcd60e51b81526020600482015260016024820152602960f91b60448201526064016126e2565b600160201b600160c01b03602083901b166001600160801b03811160071b81811c6001600160401b03811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c9790881196179094179092171790911717176080811061317057613166607f82615709565b83901c9150613181565b61317b81607f615709565b83901b91505b5f604061318f6080846156a9565b901b9050828302607f1c92508260801c80603f1b8217915083811c935050828302607f1c92508260801c80603e1b8217915083811c935050828302607f1c92508260801c80603d1b8217915083811c935050828302607f1c92508260801c80603c1b8217915083811c935050828302607f1c92508260801c80603b1b8217915083811c935050828302607f1c92508260801c80603a1b8217915083811c935050828302607f1c92508260801c8060391b8217915083811c935050828302607f1c92508260801c8060381b8217915083811c935050828302607f1c92508260801c8060371b8217915083811c935050828302607f1c92508260801c8060361b8217915083811c935050828302607f1c92508260801c8060351b8217915083811c935050828302607f1c92508260801c8060341b8217915083811c935050828302607f1c92508260801c8060331b8217915083811c935050828302607f1c92508260801c8060321b82179150505f81693627a301d71055774c856133119190615933565b90505f60806133306f028f6481ab7f045a5af012a19d003aaa846156a9565b901d90505f6080613351846fdb2df09e81959a81455e260799a0632f6156cf565b901d90508060020b8260020b1461339057886001600160a01b03166133758261267d565b6001600160a01b0316111561338a5781613392565b80613392565b815b9998505050505050505050565b5f805f898961ffff1661ffff81106133b9576133b961591f565b60408051608081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff1615156060830152909250891690036134225788859250925050612fa1565b8461ffff168461ffff1611801561344a575061343f600186615962565b61ffff168961ffff16145b156134575783915061345b565b8491505b816134678a600161597c565b6134719190615996565b925061347f818989896143ae565b8a8461ffff1661ffff81106134965761349661591f565b825191018054602084015160408501516060909501511515600160f81b026001600160f81b036001600160a01b03909616600160581b02959095166001600160581b0366ffffffffffffff909216600160201b026001600160581b031990931663ffffffff909516949094179190911716919091179190911790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161357991906159b9565b5f604051808303815f865af19150503d805f81146135b2576040519150601f19603f3d011682016040523d82523d5f602084013e6135b7565b606091505b50915091508180156135e15750805115806135e15750808060200190518101906135e191906159cf565b61247b5760405162461bcd60e51b81526020600482015260026024820152612a2360f11b60448201526064016126e2565b5f805f7f00000000000000000000000015f3385625d7e364c5a6216fbbceadf10fa90e7d6001600160a01b03166370a0823160e01b3060405160240161365891906151d2565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161369691906159b9565b5f60405180830381855afa9150503d805f81146136ce576040519150601f19603f3d011682016040523d82523d5f602084013e6136d3565b606091505b50915091508115806136e6575060208151105b156137045760405163baf3f0f760e01b815260040160405180910390fd5b8080602001905181019061371891906159ea565b9250505090565b5f8261372b8382615696565b9150811015612cdd575f80fd5b5f805f7f000000000000000000000000e87cf18c26498f4d1d88d0d81d2c0433750b48bb6001600160a01b03166370a0823160e01b3060405160240161365891906151d2565b5f8261ffff165f036137a3576040516329d9e10560e01b815260040160405180910390fd5b8261ffff168261ffff16116137b9575081612d46565b825b8261ffff168161ffff161015613805576001858261ffff1661ffff81106137e4576137e461591f565b01805463ffffffff191663ffffffff929092169190911790556001016137bb565b50909392505050565b7f000000000000000000000000000000000000000000000000000000000000100061ffff168161ffff16111561386157507f00000000000000000000000000000000000000000000000000000000000010005b6202000654613880906201000790600160201b900461ffff168361377e565b6202000660046101000a81548161ffff021916908361ffff16021790555050565b6060808261ffff165f036138c8576040516329d9e10560e01b815260040160405180910390fd5b86516001600160401b038111156138e1576138e1615a01565b60405190808252806020026020018201604052801561390a578160200160208202803683370190505b50915086516001600160401b0381111561392657613926615a01565b60405190808252806020026020018201604052801561394f578160200160208202803683370190505b5090505f5b87518110156139db576139858a8a8a84815181106139745761397461591f565b60200260200101518a8a8a8a612e01565b8483815181106139975761399761591f565b602002602001018484815181106139b0576139b061591f565b6001600160a01b039093166020938402919091019092019190915260069190910b9052600101613954565b5097509795505050505050565b80600f81900b81146139f8575f80fd5b919050565b5f805f613a08612482565b613a1a84602001518560400151613d45565b613a4f425f546004546020880151604089015160608a0151600160a01b90940460020b936001600160801b0390931692614622565b6040805160e0810182525f546001600160a01b0381168252600160a01b810460020b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c085015288519089015194890151928901519394613aec9491939092909190614660565b93508460600151600f0b5f14613c5a57846020015160020b816020015160020b1215613b4057613b39613b22866020015161267d565b613b2f876040015161267d565b8760600151614801565b9250613c5a565b846040015160020b816020015160020b1215613c305760045460408201516001600160801b0390911690613b8b9042602085015160608601516080870151600894939291879161339f565b5f805463ffffffff60b81b1916600160c81b61ffff9384160261ffff60b81b191617600160b81b939092169290920217905581516040870151613bdc9190613bd29061267d565b8860600151614801565b9350613bfa613bee876020015161267d565b83516060890151614841565b9250613c0a818760600151612fad565b600480546001600160801b0319166001600160801b039290921691909117905550613c5a565b613c57613c40866020015161267d565b613c4d876040015161267d565b8760600151614841565b91505b509193909250565b5f613c6e848484612d4d565b90505f8280613c7f57613c7f61562d565b8486091115612d46575f198110613c94575f80fd5b80613c9e81615a15565b95945050505050565b5050565b6040805160609490941b6001600160601b03191660208086019190915260e893841b60348601529190921b60378401528151601a818503018152603a90930182528251928101929092205f90815292909152902090565b60ff811615801590613d24575060048160ff161080613d245750600a8160ff16115b15613d425760405163c52a9bd360e01b815260040160405180910390fd5b50565b8060020b8260020b121580613d615750620d89e719600283900b125b80613d7d5750613d74620d89e719615676565b60020b8160020b135b15613ca75760405163b4fa3fb360e01b815260040160405180910390fd5b6040805160808101825263ffffffff929092168083525f602084018190529183019190915260016060909201829052600160f81b17909155908190565b613de56201000783613d9b565b62020006805465ffffffff00001916600160201b61ffff9384160263ffff0000191617620100009390921692909202179055613e41817f0000000000000000000000000000000000000000000000000000000000000001614873565b620200068054600160301b600160881b031916600160301b62ffffff9390931692909202600160481b600160881b03191691909117600160481b436001600160401b0316021790555050565b6202000654600160481b90046001600160401b03164303613ead57505050565b6202000654613ee790620100079061ffff808216918791600160301b820460020b918791620100008204811691600160201b90041661339f565b62020006805463ffffffff19166201000061ffff9384160261ffff191617929091169190911790819055613f6790600160301b900460020b837f00000000000000000000000000000000000000000000000000000000000000117f0000000000000000000000000000000000000000000000000000000000000001614888565b620200068054600160301b600160881b031916600160301b62ffffff9390931692909202600160481b600160881b03191691909117600160481b436001600160401b031602179055505050565b600281900b60081d5f613fc9610100846157fd565b9050915091565b5f808211613fdc575f80fd5b600160801b8210613ffa57608091821c91613ff79082615a2d565b90505b600160401b821061401857604091821c916140159082615a2d565b90505b600160201b821061403657602091821c916140339082615a2d565b90505b62010000821061405357601091821c916140509082615a2d565b90505b610100821061406f57600891821c9161406c9082615a2d565b90505b6010821061408a57600491821c916140879082615a2d565b90505b600482106140a557600291821c916140a29082615a2d565b90505b600282106139f857612cdd600182615a2d565b5f8082116140c4575f80fd5b5060ff6001600160801b038216156140e8576140e160808261585e565b90506140f0565b608082901c91505b6001600160401b038216156141115761410a60408261585e565b9050614119565b604082901c91505b63ffffffff8216156141375761413060208261585e565b905061413f565b602082901c91505b61ffff82161561415b5761415460108261585e565b9050614163565b601082901c91505b60ff82161561417e5761417760088261585e565b9050614186565b600882901c91505b600f8216156141a15761419a60048261585e565b90506141a9565b600482901c91505b60038216156141c4576141bd60028261585e565b90506141cc565b600282901c91505b60018216156139f857612cdd60018261585e565b5f836001600160a01b0316856001600160a01b031611156141ff579293925b816142335761422e6001600160801b03841661421b8787615a46565b6001600160a01b0316600160601b612d4d565b613c9e565b613c9e6001600160801b03841661424a8787615a46565b6001600160a01b0316600160601b613c62565b5f836001600160a01b0316856001600160a01b0316111561427c579293925b600160601b600160e01b03606084901b165f6142988787615a46565b6001600160a01b031690505f876001600160a01b0316116142b7575f80fd5b836142e957866001600160a01b03166142da8383896001600160a01b0316612d4d565b6142e491906156f6565b614315565b6143156143008383896001600160a01b0316613c62565b886001600160a01b0316808204910615150190565b979650505050505050565b5f80856001600160a01b031611614335575f80fd5b5f846001600160801b031611614349575f80fd5b8161435b5761422e85858560016148e6565b613c9e85858560016149c9565b5f80856001600160a01b03161161437d575f80fd5b5f846001600160801b031611614391575f80fd5b816143a25761422e8585855f6149c9565b613c9e8585855f6148e6565b6143b66151ac565b5f855f01518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020015f856001600160801b031611614407576001614409565b845b6001600160801b031663ffffffff60801b608085901b168161442d5761442d61562d565b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b61445c6151ac565b6144646151ac565b888561ffff1661ffff811061447b5761447b61591f565b60408051608081018252919092015463ffffffff8116808352600160201b820460060b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff161515606082015292506144d990899089614abb565b1561450557815163ffffffff888116911614612fa157816144fc838989886143ae565b91509150612fa1565b888361451287600161597c565b61451c9190615996565b61ffff1661ffff81106145315761453161591f565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082018190529092506145da57604080516080810182528a5463ffffffff81168252600160201b810460060b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b6145e888835f015189614abb565b61460557604051636ffbbccd60e11b815260040160405180910390fd5b6146128989898887614b87565b9150915097509795505050505050565b80600f0b5f148061463857508260020b8560020b125b8061464957508160020b8560020b12155b61465857614658868686613e8d565b505050505050565b5f61466e6007878787613cab565b600154600254919250905f80600f87900b156147a3575f805460045442929182916146c99160089186918591600160a01b820460020b9161ffff600160b81b82048116926001600160801b031691600160c81b900416612e01565b909250905061470260058d8b8d8b8b87898b5f7f00000000000000000000000000000000000ec53505f15855641a8a5b46adaab9614d62565b945061473960058c8b8d8b8b87898b60017f00000000000000000000000000000000000ec53505f15855641a8a5b46adaab9614d62565b9350841561476d5761476d60068d7f0000000000000000000000000000000000000000000000000000000000000190614f07565b831561479f5761479f60068c7f0000000000000000000000000000000000000000000000000000000000000190614f07565b5050505b5f806147b460058c8c8b8a8a614f57565b90925090506147c5878a8484614ffc565b5f89600f0b12156147f25783156147e1576147e160058c61516e565b82156147f2576147f260058b61516e565b50505050505095945050505050565b5f8082600f0b126148215761481c610b00858585600161425d565b612a8a565b614838610b0085856148328661571c565b5f61425d565b612a8a9061575a565b5f8082600f0b1261485c5761481c610b0085858560016141e0565b614838610b00858561486d8661571c565b5f6141e0565b5f8161487f5782612d46565b612d4683615676565b5f808560020b6148988685614873565b60020b6148a591906156a9565b9050600284900b808213156148bc578091506148d8565b6148c58161575a565b8212156148d8576148d58161575a565b91505b61431582600289900b6156cf565b5f8115614956575f6001600160a01b0384111561491a5761491584600160601b876001600160801b0316612d4d565b614931565b6149316001600160801b038616606086901b6156f6565b905061494e6149496001600160a01b0388168361371f565b615197565b915050612a8a565b5f6001600160a01b038411156149835761497e84600160601b876001600160801b0316613c62565b6149a0565b6149a0606085901b6001600160801b038716808204910615150190565b905080866001600160a01b0316116149b6575f80fd5b61494e816001600160a01b038816615709565b5f825f036149d8575083612a8a565b600160601b600160e01b03606085901b168215614a6b576001600160a01b03861684810290614a0786836156f6565b03614a3657818101828110614a3457614a2a83896001600160a01b031683613c62565b9350505050612a8a565b505b614a6282614a5787614a516001600160a01b038c16846156f6565b9061371f565b808204910615150190565b92505050612a8a565b6001600160a01b03861684810290614a8386836156f6565b148015614a8f57508082115b614a97575f80fd5b5f614aa28284615709565b9050614a2a614949848a6001600160a01b031684613c62565b5f8363ffffffff168363ffffffff1611158015614ae457508363ffffffff168263ffffffff1611155b15614b00578163ffffffff168363ffffffff1611159050612d46565b5f8463ffffffff168463ffffffff1611614b2d57614b2863ffffffff8516600160201b615a65565b614b35565b8363ffffffff165b64ffffffffff1690505f8563ffffffff168463ffffffff1611614b6b57614b6663ffffffff8516600160201b615a65565b614b73565b8363ffffffff165b64ffffffffff169091111595945050505050565b614b8f6151ac565b614b976151ac565b5f83614ba486600161597c565b614bae9190615996565b61ffff1690505f60018561ffff1683614bc79190615696565b614bd19190615709565b90505f5b6002614be18385615696565b614beb91906156f6565b905089614bfc61ffff8816836158b3565b61ffff8110614c0d57614c0d61591f565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909550614c7857614c71816001615696565b9250614bd5565b8961ffff8716614c89836001615696565b614c9391906158b3565b61ffff8110614ca457614ca461591f565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094505f90614d07908b908b614abb565b9050808015614d1f5750614d1f8a8a875f0151614abb565b15614d2a5750614d55565b80614d4157614d3a600183615709565b9250614d4f565b614d4c826001615696565b93505b50614bd5565b5050509550959350505050565b60028a900b5f90815260208c90526040812080546001600160801b031682614d8a828d612fad565b9050846001600160801b0316816001600160801b03161115614dd35760405162461bcd60e51b81526020600482015260026024820152614c4f60f01b60448201526064016126e2565b6001600160801b03818116159083168015919091141594505f03614e76578c60020b8e60020b13614e5e57600183018b9055600283018a905560038301805466ffffffffffffff8a166001600160f81b0319909116600160381b6001600160a01b038d160266ffffffffffffff63ffffffff60d81b0119161717600160d81b63ffffffff8a16021790555b6003830180546001600160f81b0316600160f81b1790555b82546001600160801b0319166001600160801b03821617835585614ebd578254614eb890614eb390600160801b9004600f90810b908f900b612ce3565b6139e8565b614edc565b8254614edc90614eb390600160801b9004600f90810b908f900b612cbf565b83546001600160801b03918216600160801b0291161790925550909c9b505050505050505050505050565b614f1181836157fd565b60020b15614f1d575f80fd5b5f80614f2c6125c184866157c5565b600191820b5f9081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b5f8181526020899052604080822088850b83529082209193849391929184918291908a900b12614f9757505060018201546002830154614faa565b8360010154880391508360020154870390505b5f808b60020b8b60020b1215614fcb57505060018301546002840154614fde565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b031681526001860154602082015260028601549181019190915260038501546060820152600485015460808201525f600f85900b810361508d5781516001600160801b03166150855760405162461bcd60e51b815260206004820152600260248201526104e560f41b60448201526064016126e2565b50805161509c565b81516150999086612fad565b90505b60208201516040830151835191860391908503905f906150cb9084906001600160801b0316600160801b612d4d565b90505f6150e983875f01516001600160801b0316600160801b612d4d565b905088600f0b5f1461510f5789546001600160801b0319166001600160801b038616178a555b60018a0188905560028a018790558115158061512a57505f81115b1561516257818a6003015f8282546151429190615696565b92505081905550808a6004015f82825461515c9190615696565b90915550505b50505050505050505050565b600290810b5f908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b03811681146139f8575f80fd5b604080516080810182525f80825260208201819052918101829052606081019190915290565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114613d42575f80fd5b8015158114613d42575f80fd5b5f8083601f840112615217575f80fd5b5081356001600160401b0381111561522d575f80fd5b602083019150836020828501011115611441575f80fd5b5f805f805f8060a08789031215615259575f80fd5b8635615264816151e6565b95506020870135615274816151fa565b945060408701359350606087013561528b816151e6565b925060808701356001600160401b038111156152a5575f80fd5b6152b189828a01615207565b979a9699509497509295939492505050565b6001600160801b0392831681529116602082015260400190565b5f602082840312156152ed575f80fd5b5035919050565b5f60208284031215615304575f80fd5b813561ffff81168114612d46575f80fd5b5f8060208385031215615326575f80fd5b82356001600160401b0381111561533b575f80fd5b8301601f8101851361534b575f80fd5b80356001600160401b03811115615360575f80fd5b8560208260051b8401011115615374575f80fd5b6020919091019590945092505050565b604080825283519082018190525f9060208501906060840190835b818110156153c057835160060b83526020938401939092019160010161539f565b5050838103602080860191909152855180835291810192508501905f5b818110156154045782516001600160a01b03168452602093840193909201916001016153dd565b50919695505050505050565b8035600281900b81146139f8575f80fd5b80356001600160801b03811681146139f8575f80fd5b5f805f805f8060a0878903121561544c575f80fd5b8635615457816151e6565b955061546560208801615410565b945061547360408801615410565b935061528b60608801615421565b5f805f805f60808688031215615495575f80fd5b85356154a0816151e6565b9450602086013593506040860135925060608601356001600160401b038111156154c8575f80fd5b6154d488828901615207565b969995985093965092949392505050565b5f805f805f60a086880312156154f9575f80fd5b8535615504816151e6565b945061551260208701615410565b935061552060408701615410565b925061552e60608701615421565b915061553c60808701615421565b90509295509295909350565b5f60208284031215615558575f80fd5b81358060010b8114612d46575f80fd5b5f60208284031215615578575f80fd5b813560ff81168114612d46575f80fd5b5f805f6060848603121561559a575f80fd5b6155a384615410565b92506155b160208501615410565b91506155bf60408501615421565b90509250925092565b5f80604083850312156155d9575f80fd5b6155e283615410565b91506155f060208401615410565b90509250929050565b5f60208284031215615609575f80fd5b612d4682615410565b5f60208284031215615622575f80fd5b8135612d46816151e6565b634e487b7160e01b5f52601260045260245ffd5b5f60ff8316806156535761565361562d565b8060ff84160691505092915050565b634e487b7160e01b5f52601160045260245ffd5b5f8160020b627fffff19810361568e5761568e615662565b5f0392915050565b80820180821115612cdd57612cdd615662565b8181035f8312801583831316838312821617156156c8576156c8615662565b5092915050565b8082018281125f8312801582168215821617156156ee576156ee615662565b505092915050565b5f826157045761570461562d565b500490565b81810381811115612cdd57612cdd615662565b5f600f82900b6001607f1b810161568e5761568e615662565b600282810b9082900b03627fffff198112627fffff82131715612cdd57612cdd615662565b5f600160ff1b820161576e5761576e615662565b505f0390565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b848152836020820152606060408201525f6157bb606083018486615774565b9695505050505050565b5f8160020b8360020b806157db576157db61562d565b627fffff1982145f19821416156157f4576157f4615662565b90059392505050565b5f8260020b8061580f5761580f61562d565b808360020b0791505092915050565b5f8160020b627fffff19810361583657615836615662565b5f190192915050565b5f8260020b8260020b028060020b91508082146156c8576156c8615662565b60ff8281168282160390811115612cdd57612cdd615662565b600281810b9083900b01627fffff8113627fffff1982121715612cdd57612cdd615662565b8082028115828204841417612cdd57612cdd615662565b5f826158c1576158c161562d565b500690565b62ffffff8281168282160390811115612cdd57612cdd615662565b6001600160801b038281168282160390811115612cdd57612cdd615662565b6001600160801b038181168382160190811115612cdd57612cdd615662565b634e487b7160e01b5f52603260045260245ffd5b8082025f8212600160ff1b8414161561594e5761594e615662565b8181058314821517612cdd57612cdd615662565b61ffff8281168282160390811115612cdd57612cdd615662565b61ffff8181168382160190811115612cdd57612cdd615662565b5f61ffff8316806159a9576159a961562d565b8061ffff84160691505092915050565b5f82518060208501845e5f920191825250919050565b5f602082840312156159df575f80fd5b8151612d46816151fa565b5f602082840312156159fa575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f60018201615a2657615a26615662565b5060010190565b60ff8181168382160190811115612cdd57612cdd615662565b6001600160a01b038281168282160390811115612cdd57612cdd615662565b64ffffffffff8181168382160190811115612cdd57612cdd61566256
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 31 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.