ETH Price: $2,413.17 (-3.57%)

Token

V4locity (V4LC)
 

Overview

Max Total Supply

1,000,000 V4LC

Holders

51

Transfers

-
2 (0%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
Transaction Hash Block
Age
Multiplier Status
# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

V4LC

Compiler Version
v0.8.30+commit.73712a01
Optimization Enabled
No with 200 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"contract IPoolManager","name":"_poolManager","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"HookNotImplemented","type":"error"},{"inputs":[],"name":"InvalidPool","type":"error"},{"inputs":[],"name":"NotPoolManager","type":"error"},{"inputs":[],"name":"NotSelf","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payer","type":"address"},{"indexed":false,"internalType":"uint128","name":"ethAmount","type":"uint128"},{"indexed":false,"internalType":"bool","name":"isBuy","type":"bool"}],"name":"TaxCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TAX_ADMIN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TAX_BPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta0","type":"int256"},{"internalType":"BalanceDelta","name":"delta1","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterAddLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterDonate","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"}],"name":"afterInitialize","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta0","type":"int256"},{"internalType":"BalanceDelta","name":"delta1","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterRemoveLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterSwap","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeAddLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeDonate","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"beforeInitialize","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeRemoveLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeSwap","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BeforeSwapDelta","name":"","type":"int256"},{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHookPermissions","outputs":[{"components":[{"internalType":"bool","name":"beforeInitialize","type":"bool"},{"internalType":"bool","name":"afterInitialize","type":"bool"},{"internalType":"bool","name":"beforeAddLiquidity","type":"bool"},{"internalType":"bool","name":"afterAddLiquidity","type":"bool"},{"internalType":"bool","name":"beforeRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidity","type":"bool"},{"internalType":"bool","name":"beforeSwap","type":"bool"},{"internalType":"bool","name":"afterSwap","type":"bool"},{"internalType":"bool","name":"beforeDonate","type":"bool"},{"internalType":"bool","name":"afterDonate","type":"bool"},{"internalType":"bool","name":"beforeSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterSwapReturnDelta","type":"bool"},{"internalType":"bool","name":"afterAddLiquidityReturnDelta","type":"bool"},{"internalType":"bool","name":"afterRemoveLiquidityReturnDelta","type":"bool"}],"internalType":"struct Hooks.Permissions","name":"","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTaxCollectedEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
60a060405234801561000f575f5ffd5b5060405161408738038061408783398181016040528101906100319190610b93565b33826040518060400160405280600881526020017f56346c6f636974790000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f56344c430000000000000000000000000000000000000000000000000000000081525081600390816100ae9190610e0e565b5080600490816100be9190610e0e565b5050508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050610104306101b460201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610175575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161016c9190610eec565b60405180910390fd5b610184816101d460201b60201c565b5061019f8169d3c21bcecceda100000061029760201b60201c565b6101ad61031c60201b60201c565b5050610fc2565b6101d1816101c661033b60201b60201c565b6103c660201b60201c565b50565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610307575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016102fe9190610eec565b60405180910390fd5b6103185f838361075560201b60201c565b5050565b61032a61096e60201b60201c565b6103395f6101d460201b60201c565b565b610343610a7d565b604051806101c001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020016001151581526020016001151581526020015f151581526020015f151581526020016001151581526020016001151581526020015f151581526020015f1515815250905090565b6103f16120008373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515815f01511515141580610438575061042c6110008373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160200151151514155b8061047557506104696108008373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160400151151514155b806104b257506104a66104008373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160600151151514155b806104ef57506104e36102008373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160800151151514155b8061052c57506105206101008373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160a00151151514155b80610568575061055c60808373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160c00151151514155b806105a4575061059860408373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b15158160e00151151514155b806105e157506105d460208373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515816101000151151514155b8061061e575061061160108373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515816101200151151514155b8061065b575061064e60088373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515816101400151151514155b80610698575061068b60048373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515816101600151151514155b806106d557506106c860028373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515816101800151151514155b80610712575061070560018373ffffffffffffffffffffffffffffffffffffffff16610a0760201b90919060201c565b1515816101a00151151514155b15610751576107508263e65af6a060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916610a2c60201b90919060201c565b5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107a5578060025f8282546107999190610f32565b92505081905550610873565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561082e578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161082593929190610f74565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108ba578060025f8282540392505081905550610904565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109619190610fa9565b60405180910390a3505050565b61097c610a4e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166109a0610a5560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610a05576109c9610a4e60201b60201c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109fc9190610eec565b60405180910390fd5b565b5f5f82841673ffffffffffffffffffffffffffffffffffffffff161415905092915050565b815f5273ffffffffffffffffffffffffffffffffffffffff811660045260245ffd5b5f33905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b604051806101c001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581525090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b2782610afe565b9050919050565b5f610b3882610b1d565b9050919050565b610b4881610b2e565b8114610b52575f5ffd5b50565b5f81519050610b6381610b3f565b92915050565b610b7281610b1d565b8114610b7c575f5ffd5b50565b5f81519050610b8d81610b69565b92915050565b5f5f60408385031215610ba957610ba8610afa565b5b5f610bb685828601610b55565b9250506020610bc785828601610b7f565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610c4c57607f821691505b602082108103610c5f57610c5e610c08565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610cc17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610c86565b610ccb8683610c86565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610d0f610d0a610d0584610ce3565b610cec565b610ce3565b9050919050565b5f819050919050565b610d2883610cf5565b610d3c610d3482610d16565b848454610c92565b825550505050565b5f5f905090565b610d53610d44565b610d5e818484610d1f565b505050565b5b81811015610d8157610d765f82610d4b565b600181019050610d64565b5050565b601f821115610dc657610d9781610c65565b610da084610c77565b81016020851015610daf578190505b610dc3610dbb85610c77565b830182610d63565b50505b505050565b5f82821c905092915050565b5f610de65f1984600802610dcb565b1980831691505092915050565b5f610dfe8383610dd7565b9150826002028217905092915050565b610e1782610bd1565b67ffffffffffffffff811115610e3057610e2f610bdb565b5b610e3a8254610c35565b610e45828285610d85565b5f60209050601f831160018114610e76575f8415610e64578287015190505b610e6e8582610df3565b865550610ed5565b601f198416610e8486610c65565b5f5b82811015610eab57848901518255600182019150602085019450602081019050610e86565b86831015610ec85784890151610ec4601f891682610dd7565b8355505b6001600288020188555050505b505050505050565b610ee681610b1d565b82525050565b5f602082019050610eff5f830184610edd565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610f3c82610ce3565b9150610f4783610ce3565b9250828201905080821115610f5f57610f5e610f05565b5b92915050565b610f6e81610ce3565b82525050565b5f606082019050610f875f830186610edd565b610f946020830185610f65565b610fa16040830184610f65565b949350505050565b5f602082019050610fbc5f830184610f65565b92915050565b60805161305961102e5f395f818161084d01528181610919015281816109c101528181610a6b01528181610b1001528181610cd201528181610d9a01528181610e3d01528181610f6d01528181610f92015281816110c6015281816114e301526119bd01526130595ff3fe6080604052600436106101c5575f3560e01c80638da5cb5b116100f6578063c4e833ce11610094578063dd62ed3e11610063578063dd62ed3e146106c5578063dd7c4a5b14610701578063e1b4af691461072b578063f2fde38b14610767576101cc565b8063c4e833ce1461060b578063c5bef49814610635578063dc4c90d31461065f578063dc98354e14610689576101cc565b80639f063efc116100d05780639f063efc14610519578063a9059cbb14610556578063b47b2fb114610592578063b6a8b0fa146105cf576101cc565b80638da5cb5b1461049b578063902d55a5146104c557806395d89b41146104ef576101cc565b8063575e24b4116101635780636fe7e6eb1161013d5780636fe7e6eb146103e357806370a082311461041f578063715018a61461045b578063893d20e814610471576101cc565b8063575e24b41461033e57806368f4a7861461037c5780636c2bbe7e146103a6576101cc565b806321d0ee701161019f57806321d0ee701461026057806323b872dd1461029c578063259982e5146102d8578063313ce56714610314576101cc565b806306fdde03146101d0578063095ea7b3146101fa57806318160ddd14610236576101cc565b366101cc57005b5f5ffd5b3480156101db575f5ffd5b506101e461078f565b6040516101f19190612195565b60405180910390f35b348015610205575f5ffd5b50610220600480360381019061021b919061224a565b61081f565b60405161022d91906122a2565b60405180910390f35b348015610241575f5ffd5b5061024a610841565b60405161025791906122ca565b60405180910390f35b34801561026b575f5ffd5b5061028660048036038101906102819190612384565b61084a565b6040516102939190612444565b60405180910390f35b3480156102a7575f5ffd5b506102c260048036038101906102bd919061245d565b6108e8565b6040516102cf91906122a2565b60405180910390f35b3480156102e3575f5ffd5b506102fe60048036038101906102f99190612384565b610916565b60405161030b9190612444565b60405180910390f35b34801561031f575f5ffd5b506103286109b4565b60405161033591906124c8565b60405180910390f35b348015610349575f5ffd5b50610364600480360381019061035f91906124ff565b6109bc565b604051610373939291906125e4565b60405180910390f35b348015610387575f5ffd5b50610390610a62565b60405161039d9190612635565b60405180910390f35b3480156103b1575f5ffd5b506103cc60048036038101906103c79190612678565b610a67565b6040516103da929190612735565b60405180910390f35b3480156103ee575f5ffd5b50610409600480360381019061040491906127bc565b610b0d565b6040516104169190612444565b60405180910390f35b34801561042a575f5ffd5b5061044560048036038101906104409190612821565b610ba9565b60405161045291906122ca565b60405180910390f35b348015610466575f5ffd5b5061046f610bee565b005b34801561047c575f5ffd5b50610485610c01565b604051610492919061285b565b60405180910390f35b3480156104a6575f5ffd5b506104af610c08565b6040516104bc919061285b565b60405180910390f35b3480156104d0575f5ffd5b506104d9610c30565b6040516104e691906122ca565b60405180910390f35b3480156104fa575f5ffd5b50610503610c3e565b6040516105109190612195565b60405180910390f35b348015610524575f5ffd5b5061053f600480360381019061053a9190612678565b610cce565b60405161054d929190612735565b60405180910390f35b348015610561575f5ffd5b5061057c6004803603810190610577919061224a565b610d74565b60405161058991906122a2565b60405180910390f35b34801561059d575f5ffd5b506105b860048036038101906105b39190612874565b610d96565b6040516105c6929190612928565b60405180910390f35b3480156105da575f5ffd5b506105f560048036038101906105f0919061294f565b610e3a565b6040516106029190612444565b60405180910390f35b348015610616575f5ffd5b5061061f610eda565b60405161062c9190612b14565b60405180910390f35b348015610640575f5ffd5b50610649610f65565b60405161065691906122ca565b60405180910390f35b34801561066a575f5ffd5b50610673610f6b565b6040516106809190612b80565b60405180910390f35b348015610694575f5ffd5b506106af60048036038101906106aa9190612b99565b610f8f565b6040516106bc9190612444565b60405180910390f35b3480156106d0575f5ffd5b506106eb60048036038101906106e69190612be9565b611029565b6040516106f891906122ca565b60405180910390f35b34801561070c575f5ffd5b506107156110ab565b604051610722919061285b565b60405180910390f35b348015610736575f5ffd5b50610751600480360381019061074c919061294f565b6110c3565b60405161075e9190612444565b60405180910390f35b348015610772575f5ffd5b5061078d60048036038101906107889190612821565b611163565b005b60606003805461079e90612c54565b80601f01602080910402602001604051908101604052809291908181526020018280546107ca90612c54565b80156108155780601f106107ec57610100808354040283529160200191610815565b820191905f5260205f20905b8154815290600101906020018083116107f857829003601f168201915b5050505050905090565b5f5f6108296111e7565b90506108368185856111ee565b600191505092915050565b5f600254905090565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d0576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108dd8686868686611200565b905095945050505050565b5f5f6108f26111e7565b90506108ff858285611233565b61090a8585856112c5565b60019150509392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099c576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109a986868686866113b5565b905095945050505050565b5f6012905090565b5f5f5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a44576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a5188888888886113e8565b925092509250955095509592505050565b606481565b5f5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aee576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610afd898989898989896116ff565b9150915097509795505050505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b93576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b9f85858585611733565b9050949350505050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bf6611766565b610bff5f6117ed565b565b5f5f905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b69d3c21bcecceda100000081565b606060048054610c4d90612c54565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7990612c54565b8015610cc45780601f10610c9b57610100808354040283529160200191610cc4565b820191905f5260205f20905b815481529060010190602001808311610ca757829003601f168201915b5050505050905090565b5f5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d55576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d64898989898989896118b0565b9150915097509795505050505050565b5f5f610d7e6111e7565b9050610d8b8185856112c5565b600191505092915050565b5f5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2b8888888888886118e4565b91509150965096945050505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ec0576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ece878787878787611bcd565b90509695505050505050565b610ee26120a8565b604051806101c001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020016001151581526020016001151581526020015f151581526020015f151581526020016001151581526020016001151581526020015f151581526020015f1515815250905090565b60055481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611015576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611020848484611c00565b90509392505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b7303af689cd6cdb7d85826f2a22c926ecc799720e281565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611149576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157878787878787611c33565b90509695505050505050565b61116b611766565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111db575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016111d2919061285b565b60405180910390fd5b6111e4816117ed565b50565b5f33905090565b6111fb8383836001611c66565b505050565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61123e8484611029565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112bf57818110156112b0578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016112a793929190612c84565b60405180910390fd5b6112be84848484035f611c66565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611335575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161132c919061285b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a5575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161139c919061285b565b60405180910390fd5b6113b0838383611e35565b505050565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f855f0160208101906113fd9190612ce3565b6114165763575e24b460e01b5f5f9250925092506116f4565b5f8660200135126114365763575e24b460e01b5f5f9250925092506116f4565b611466875f01602081019061144b9190612d38565b73ffffffffffffffffffffffffffffffffffffffff1661204e565b61147f5763575e24b460e01b5f5f9250925092506116f4565b5f866020013561148e90612d90565b90505f612710606461ffff16836114a59190612dd6565b6114af9190612e44565b90505f816fffffffffffffffffffffffffffffffff16036114e15763575e24b460e01b5f5f94509450945050506116f4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630b0d9c098a5f01602081019061152f9190612d38565b30846040518463ffffffff1660e01b815260040161154f93929190612edf565b5f604051808303815f87803b158015611566575f5ffd5b505af1158015611578573d5f5f3e3d5ffd5b505050505f7303af689cd6cdb7d85826f2a22c926ecc799720e273ffffffffffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff166040516115c790612f41565b5f6040518083038185875af1925050503d805f8114611601576040519150601f19603f3d011682016040523d82523d5f602084013e611606565b606091505b505090508061164a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164190612fc5565b60405180910390fd5b816fffffffffffffffffffffffffffffffff1660055f82825461166d9190612fe3565b925050819055503273ffffffffffffffffffffffffffffffffffffffff167ffc757bcf84f3c409aeec959c3ef0eb12bca7fb8f2296d577c201b7767654a5ca8360016040516116bd929190613025565b60405180910390a263575e24b460e01b6116e9836fffffffffffffffffffffffffffffffff165f612085565b5f9550955095505050505b955095509592505050565b5f5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176e6111e7565b73ffffffffffffffffffffffffffffffffffffffff1661178c610c08565b73ffffffffffffffffffffffffffffffffffffffff16146117eb576117af6111e7565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016117e2919061285b565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f6118f08661209c565b90505f81600f0b1361190f5763b47b2fb160e01b5f9250925050611bc2565b61193f885f0160208101906119249190612d38565b73ffffffffffffffffffffffffffffffffffffffff1661204e565b6119565763b47b2fb160e01b5f9250925050611bc2565b5f816fffffffffffffffffffffffffffffffff1690505f612710606461ffff16836119819190612dd6565b61198b9190612e44565b90505f816fffffffffffffffffffffffffffffffff16036119bb5763b47b2fb160e01b5f94509450505050611bc2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630b0d9c098b5f016020810190611a099190612d38565b30846040518463ffffffff1660e01b8152600401611a2993929190612edf565b5f604051808303815f87803b158015611a40575f5ffd5b505af1158015611a52573d5f5f3e3d5ffd5b505050505f7303af689cd6cdb7d85826f2a22c926ecc799720e273ffffffffffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff16604051611aa190612f41565b5f6040518083038185875af1925050503d805f8114611adb576040519150601f19603f3d011682016040523d82523d5f602084013e611ae0565b606091505b5050905080611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b90612fc5565b60405180910390fd5b816fffffffffffffffffffffffffffffffff1660055f828254611b479190612fe3565b925050819055503273ffffffffffffffffffffffffffffffffffffffff167ffc757bcf84f3c409aeec959c3ef0eb12bca7fb8f2296d577c201b7767654a5ca835f604051611b96929190613025565b60405180910390a263b47b2fb160e01b826fffffffffffffffffffffffffffffffff1695509550505050505b965096945050505050565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611cd6575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611ccd919061285b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d46575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611d3d919061285b565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611e2f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611e2691906122ca565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e85578060025f828254611e799190612fe3565b92505081905550611f53565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f0e578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611f0593929190612c84565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9a578060025f8282540392505081905550611fe4565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161204191906122ca565b60405180910390a3505050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f8160018060801b03168360801b17905092915050565b5f8160801d9050919050565b604051806101c001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581525090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61216782612125565b612171818561212f565b935061218181856020860161213f565b61218a8161214d565b840191505092915050565b5f6020820190508181035f8301526121ad818461215d565b905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121e6826121bd565b9050919050565b6121f6816121dc565b8114612200575f5ffd5b50565b5f81359050612211816121ed565b92915050565b5f819050919050565b61222981612217565b8114612233575f5ffd5b50565b5f8135905061224481612220565b92915050565b5f5f604083850312156122605761225f6121b5565b5b5f61226d85828601612203565b925050602061227e85828601612236565b9150509250929050565b5f8115159050919050565b61229c81612288565b82525050565b5f6020820190506122b55f830184612293565b92915050565b6122c481612217565b82525050565b5f6020820190506122dd5f8301846122bb565b92915050565b5f5ffd5b5f60a082840312156122fc576122fb6122e3565b5b81905092915050565b5f6080828403121561231a576123196122e3565b5b81905092915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261234457612343612323565b5b8235905067ffffffffffffffff81111561236157612360612327565b5b60208301915083600182028301111561237d5761237c61232b565b5b9250929050565b5f5f5f5f5f610160868803121561239e5761239d6121b5565b5b5f6123ab88828901612203565b95505060206123bc888289016122e7565b94505060c06123cd88828901612305565b93505061014086013567ffffffffffffffff8111156123ef576123ee6121b9565b5b6123fb8882890161232f565b92509250509295509295909350565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61243e8161240a565b82525050565b5f6020820190506124575f830184612435565b92915050565b5f5f5f60608486031215612474576124736121b5565b5b5f61248186828701612203565b935050602061249286828701612203565b92505060406124a386828701612236565b9150509250925092565b5f60ff82169050919050565b6124c2816124ad565b82525050565b5f6020820190506124db5f8301846124b9565b92915050565b5f606082840312156124f6576124f56122e3565b5b81905092915050565b5f5f5f5f5f6101408688031215612519576125186121b5565b5b5f61252688828901612203565b9550506020612537888289016122e7565b94505060c0612548888289016124e1565b93505061012086013567ffffffffffffffff81111561256a576125696121b9565b5b6125768882890161232f565b92509250509295509295909350565b5f819050919050565b5f819050919050565b5f6125b16125ac6125a784612585565b61258e565b612585565b9050919050565b6125c181612597565b82525050565b5f62ffffff82169050919050565b6125de816125c7565b82525050565b5f6060820190506125f75f830186612435565b61260460208301856125b8565b61261160408301846125d5565b949350505050565b5f61ffff82169050919050565b61262f81612619565b82525050565b5f6020820190506126485f830184612626565b92915050565b61265781612585565b8114612661575f5ffd5b50565b5f813590506126728161264e565b92915050565b5f5f5f5f5f5f5f6101a0888a031215612694576126936121b5565b5b5f6126a18a828b01612203565b97505060206126b28a828b016122e7565b96505060c06126c38a828b01612305565b9550506101406126d58a828b01612664565b9450506101606126e78a828b01612664565b93505061018088013567ffffffffffffffff811115612709576127086121b9565b5b6127158a828b0161232f565b925092505092959891949750929550565b61272f81612597565b82525050565b5f6040820190506127485f830185612435565b6127556020830184612726565b9392505050565b612765816121bd565b811461276f575f5ffd5b50565b5f813590506127808161275c565b92915050565b5f8160020b9050919050565b61279b81612786565b81146127a5575f5ffd5b50565b5f813590506127b681612792565b92915050565b5f5f5f5f61010085870312156127d5576127d46121b5565b5b5f6127e287828801612203565b94505060206127f3878288016122e7565b93505060c061280487828801612772565b92505060e0612815878288016127a8565b91505092959194509250565b5f60208284031215612836576128356121b5565b5b5f61284384828501612203565b91505092915050565b612855816121dc565b82525050565b5f60208201905061286e5f83018461284c565b92915050565b5f5f5f5f5f5f610160878903121561288f5761288e6121b5565b5b5f61289c89828a01612203565b96505060206128ad89828a016122e7565b95505060c06128be89828a016124e1565b9450506101206128d089828a01612664565b93505061014087013567ffffffffffffffff8111156128f2576128f16121b9565b5b6128fe89828a0161232f565b92509250509295509295509295565b5f81600f0b9050919050565b6129228161290d565b82525050565b5f60408201905061293b5f830185612435565b6129486020830184612919565b9392505050565b5f5f5f5f5f5f610120878903121561296a576129696121b5565b5b5f61297789828a01612203565b965050602061298889828a016122e7565b95505060c061299989828a01612236565b94505060e06129aa89828a01612236565b93505061010087013567ffffffffffffffff8111156129cc576129cb6121b9565b5b6129d889828a0161232f565b92509250509295509295509295565b6129f081612288565b82525050565b6101c082015f820151612a0b5f8501826129e7565b506020820151612a1e60208501826129e7565b506040820151612a3160408501826129e7565b506060820151612a4460608501826129e7565b506080820151612a5760808501826129e7565b5060a0820151612a6a60a08501826129e7565b5060c0820151612a7d60c08501826129e7565b5060e0820151612a9060e08501826129e7565b50610100820151612aa56101008501826129e7565b50610120820151612aba6101208501826129e7565b50610140820151612acf6101408501826129e7565b50610160820151612ae46101608501826129e7565b50610180820151612af96101808501826129e7565b506101a0820151612b0e6101a08501826129e7565b50505050565b5f6101c082019050612b285f8301846129f6565b92915050565b5f612b48612b43612b3e846121bd565b61258e565b6121bd565b9050919050565b5f612b5982612b2e565b9050919050565b5f612b6a82612b4f565b9050919050565b612b7a81612b60565b82525050565b5f602082019050612b935f830184612b71565b92915050565b5f5f5f60e08486031215612bb057612baf6121b5565b5b5f612bbd86828701612203565b9350506020612bce868287016122e7565b92505060c0612bdf86828701612772565b9150509250925092565b5f5f60408385031215612bff57612bfe6121b5565b5b5f612c0c85828601612203565b9250506020612c1d85828601612203565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c6b57607f821691505b602082108103612c7e57612c7d612c27565b5b50919050565b5f606082019050612c975f83018661284c565b612ca460208301856122bb565b612cb160408301846122bb565b949350505050565b612cc281612288565b8114612ccc575f5ffd5b50565b5f81359050612cdd81612cb9565b92915050565b5f60208284031215612cf857612cf76121b5565b5b5f612d0584828501612ccf565b91505092915050565b612d17816121dc565b8114612d21575f5ffd5b50565b5f81359050612d3281612d0e565b92915050565b5f60208284031215612d4d57612d4c6121b5565b5b5f612d5a84828501612d24565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d9a82612585565b91507f80000000000000000000000000000000000000000000000000000000000000008203612dcc57612dcb612d63565b5b815f039050919050565b5f612de082612217565b9150612deb83612217565b9250828202612df981612217565b91508282048414831517612e1057612e0f612d63565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e4e82612217565b9150612e5983612217565b925082612e6957612e68612e17565b5b828204905092915050565b5f612e7e82612b4f565b9050919050565b612e8e81612e74565b82525050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b5f612ec9612ec4612ebf84612e94565b61258e565b612217565b9050919050565b612ed981612eaf565b82525050565b5f606082019050612ef25f830186612e85565b612eff602083018561284c565b612f0c6040830184612ed0565b949350505050565b5f81905092915050565b50565b5f612f2c5f83612f14565b9150612f3782612f1e565b5f82019050919050565b5f612f4b82612f21565b9150819050919050565b7f466c61745461783a207472656173757279207472616e73666572206661696c655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612faf60218361212f565b9150612fba82612f55565b604082019050919050565b5f6020820190508181035f830152612fdc81612fa3565b9050919050565b5f612fed82612217565b9150612ff883612217565b92508282019050808211156130105761300f612d63565b5b92915050565b61301f81612e94565b82525050565b5f6040820190506130385f830185613016565b6130456020830184612293565b939250505056fea164736f6c634300081e000a000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9000000000000000000000000003af689cd6cdb7d85826f2a22c926ecc799720e2
Deployed Bytecode
0x6080604052600436106101c5575f3560e01c80638da5cb5b116100f6578063c4e833ce11610094578063dd62ed3e11610063578063dd62ed3e146106c5578063dd7c4a5b14610701578063e1b4af691461072b578063f2fde38b14610767576101cc565b8063c4e833ce1461060b578063c5bef49814610635578063dc4c90d31461065f578063dc98354e14610689576101cc565b80639f063efc116100d05780639f063efc14610519578063a9059cbb14610556578063b47b2fb114610592578063b6a8b0fa146105cf576101cc565b80638da5cb5b1461049b578063902d55a5146104c557806395d89b41146104ef576101cc565b8063575e24b4116101635780636fe7e6eb1161013d5780636fe7e6eb146103e357806370a082311461041f578063715018a61461045b578063893d20e814610471576101cc565b8063575e24b41461033e57806368f4a7861461037c5780636c2bbe7e146103a6576101cc565b806321d0ee701161019f57806321d0ee701461026057806323b872dd1461029c578063259982e5146102d8578063313ce56714610314576101cc565b806306fdde03146101d0578063095ea7b3146101fa57806318160ddd14610236576101cc565b366101cc57005b5f5ffd5b3480156101db575f5ffd5b506101e461078f565b6040516101f19190612195565b60405180910390f35b348015610205575f5ffd5b50610220600480360381019061021b919061224a565b61081f565b60405161022d91906122a2565b60405180910390f35b348015610241575f5ffd5b5061024a610841565b60405161025791906122ca565b60405180910390f35b34801561026b575f5ffd5b5061028660048036038101906102819190612384565b61084a565b6040516102939190612444565b60405180910390f35b3480156102a7575f5ffd5b506102c260048036038101906102bd919061245d565b6108e8565b6040516102cf91906122a2565b60405180910390f35b3480156102e3575f5ffd5b506102fe60048036038101906102f99190612384565b610916565b60405161030b9190612444565b60405180910390f35b34801561031f575f5ffd5b506103286109b4565b60405161033591906124c8565b60405180910390f35b348015610349575f5ffd5b50610364600480360381019061035f91906124ff565b6109bc565b604051610373939291906125e4565b60405180910390f35b348015610387575f5ffd5b50610390610a62565b60405161039d9190612635565b60405180910390f35b3480156103b1575f5ffd5b506103cc60048036038101906103c79190612678565b610a67565b6040516103da929190612735565b60405180910390f35b3480156103ee575f5ffd5b50610409600480360381019061040491906127bc565b610b0d565b6040516104169190612444565b60405180910390f35b34801561042a575f5ffd5b5061044560048036038101906104409190612821565b610ba9565b60405161045291906122ca565b60405180910390f35b348015610466575f5ffd5b5061046f610bee565b005b34801561047c575f5ffd5b50610485610c01565b604051610492919061285b565b60405180910390f35b3480156104a6575f5ffd5b506104af610c08565b6040516104bc919061285b565b60405180910390f35b3480156104d0575f5ffd5b506104d9610c30565b6040516104e691906122ca565b60405180910390f35b3480156104fa575f5ffd5b50610503610c3e565b6040516105109190612195565b60405180910390f35b348015610524575f5ffd5b5061053f600480360381019061053a9190612678565b610cce565b60405161054d929190612735565b60405180910390f35b348015610561575f5ffd5b5061057c6004803603810190610577919061224a565b610d74565b60405161058991906122a2565b60405180910390f35b34801561059d575f5ffd5b506105b860048036038101906105b39190612874565b610d96565b6040516105c6929190612928565b60405180910390f35b3480156105da575f5ffd5b506105f560048036038101906105f0919061294f565b610e3a565b6040516106029190612444565b60405180910390f35b348015610616575f5ffd5b5061061f610eda565b60405161062c9190612b14565b60405180910390f35b348015610640575f5ffd5b50610649610f65565b60405161065691906122ca565b60405180910390f35b34801561066a575f5ffd5b50610673610f6b565b6040516106809190612b80565b60405180910390f35b348015610694575f5ffd5b506106af60048036038101906106aa9190612b99565b610f8f565b6040516106bc9190612444565b60405180910390f35b3480156106d0575f5ffd5b506106eb60048036038101906106e69190612be9565b611029565b6040516106f891906122ca565b60405180910390f35b34801561070c575f5ffd5b506107156110ab565b604051610722919061285b565b60405180910390f35b348015610736575f5ffd5b50610751600480360381019061074c919061294f565b6110c3565b60405161075e9190612444565b60405180910390f35b348015610772575f5ffd5b5061078d60048036038101906107889190612821565b611163565b005b60606003805461079e90612c54565b80601f01602080910402602001604051908101604052809291908181526020018280546107ca90612c54565b80156108155780601f106107ec57610100808354040283529160200191610815565b820191905f5260205f20905b8154815290600101906020018083116107f857829003601f168201915b5050505050905090565b5f5f6108296111e7565b90506108368185856111ee565b600191505092915050565b5f600254905090565b5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d0576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108dd8686868686611200565b905095945050505050565b5f5f6108f26111e7565b90506108ff858285611233565b61090a8585856112c5565b60019150509392505050565b5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099c576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109a986868686866113b5565b905095945050505050565b5f6012905090565b5f5f5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a44576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a5188888888886113e8565b925092509250955095509592505050565b606481565b5f5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aee576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610afd898989898989896116ff565b9150915097509795505050505050565b5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b93576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b9f85858585611733565b9050949350505050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bf6611766565b610bff5f6117ed565b565b5f5f905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b69d3c21bcecceda100000081565b606060048054610c4d90612c54565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7990612c54565b8015610cc45780601f10610c9b57610100808354040283529160200191610cc4565b820191905f5260205f20905b815481529060010190602001808311610ca757829003601f168201915b5050505050905090565b5f5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d55576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d64898989898989896118b0565b9150915097509795505050505050565b5f5f610d7e6111e7565b9050610d8b8185856112c5565b600191505092915050565b5f5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2b8888888888886118e4565b91509150965096945050505050565b5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ec0576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ece878787878787611bcd565b90509695505050505050565b610ee26120a8565b604051806101c001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020016001151581526020016001151581526020015f151581526020015f151581526020016001151581526020016001151581526020015f151581526020015f1515815250905090565b60055481565b7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9081565b5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611015576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611020848484611c00565b90509392505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b7303af689cd6cdb7d85826f2a22c926ecc799720e281565b5f7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611149576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157878787878787611c33565b90509695505050505050565b61116b611766565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111db575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016111d2919061285b565b60405180910390fd5b6111e4816117ed565b50565b5f33905090565b6111fb8383836001611c66565b505050565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61123e8484611029565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112bf57818110156112b0578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016112a793929190612c84565b60405180910390fd5b6112be84848484035f611c66565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611335575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161132c919061285b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a5575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161139c919061285b565b60405180910390fd5b6113b0838383611e35565b505050565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f855f0160208101906113fd9190612ce3565b6114165763575e24b460e01b5f5f9250925092506116f4565b5f8660200135126114365763575e24b460e01b5f5f9250925092506116f4565b611466875f01602081019061144b9190612d38565b73ffffffffffffffffffffffffffffffffffffffff1661204e565b61147f5763575e24b460e01b5f5f9250925092506116f4565b5f866020013561148e90612d90565b90505f612710606461ffff16836114a59190612dd6565b6114af9190612e44565b90505f816fffffffffffffffffffffffffffffffff16036114e15763575e24b460e01b5f5f94509450945050506116f4565b7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff16630b0d9c098a5f01602081019061152f9190612d38565b30846040518463ffffffff1660e01b815260040161154f93929190612edf565b5f604051808303815f87803b158015611566575f5ffd5b505af1158015611578573d5f5f3e3d5ffd5b505050505f7303af689cd6cdb7d85826f2a22c926ecc799720e273ffffffffffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff166040516115c790612f41565b5f6040518083038185875af1925050503d805f8114611601576040519150601f19603f3d011682016040523d82523d5f602084013e611606565b606091505b505090508061164a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164190612fc5565b60405180910390fd5b816fffffffffffffffffffffffffffffffff1660055f82825461166d9190612fe3565b925050819055503273ffffffffffffffffffffffffffffffffffffffff167ffc757bcf84f3c409aeec959c3ef0eb12bca7fb8f2296d577c201b7767654a5ca8360016040516116bd929190613025565b60405180910390a263575e24b460e01b6116e9836fffffffffffffffffffffffffffffffff165f612085565b5f9550955095505050505b955095509592505050565b5f5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61176e6111e7565b73ffffffffffffffffffffffffffffffffffffffff1661178c610c08565b73ffffffffffffffffffffffffffffffffffffffff16146117eb576117af6111e7565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016117e2919061285b565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f6118f08661209c565b90505f81600f0b1361190f5763b47b2fb160e01b5f9250925050611bc2565b61193f885f0160208101906119249190612d38565b73ffffffffffffffffffffffffffffffffffffffff1661204e565b6119565763b47b2fb160e01b5f9250925050611bc2565b5f816fffffffffffffffffffffffffffffffff1690505f612710606461ffff16836119819190612dd6565b61198b9190612e44565b90505f816fffffffffffffffffffffffffffffffff16036119bb5763b47b2fb160e01b5f94509450505050611bc2565b7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff16630b0d9c098b5f016020810190611a099190612d38565b30846040518463ffffffff1660e01b8152600401611a2993929190612edf565b5f604051808303815f87803b158015611a40575f5ffd5b505af1158015611a52573d5f5f3e3d5ffd5b505050505f7303af689cd6cdb7d85826f2a22c926ecc799720e273ffffffffffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff16604051611aa190612f41565b5f6040518083038185875af1925050503d805f8114611adb576040519150601f19603f3d011682016040523d82523d5f602084013e611ae0565b606091505b5050905080611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b90612fc5565b60405180910390fd5b816fffffffffffffffffffffffffffffffff1660055f828254611b479190612fe3565b925050819055503273ffffffffffffffffffffffffffffffffffffffff167ffc757bcf84f3c409aeec959c3ef0eb12bca7fb8f2296d577c201b7767654a5ca835f604051611b96929190613025565b60405180910390a263b47b2fb160e01b826fffffffffffffffffffffffffffffffff1695509550505050505b965096945050505050565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611cd6575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611ccd919061285b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d46575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611d3d919061285b565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611e2f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611e2691906122ca565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e85578060025f828254611e799190612fe3565b92505081905550611f53565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f0e578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611f0593929190612c84565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9a578060025f8282540392505081905550611fe4565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161204191906122ca565b60405180910390a3505050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f8160018060801b03168360801b17905092915050565b5f8160801d9050919050565b604051806101c001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581525090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61216782612125565b612171818561212f565b935061218181856020860161213f565b61218a8161214d565b840191505092915050565b5f6020820190508181035f8301526121ad818461215d565b905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121e6826121bd565b9050919050565b6121f6816121dc565b8114612200575f5ffd5b50565b5f81359050612211816121ed565b92915050565b5f819050919050565b61222981612217565b8114612233575f5ffd5b50565b5f8135905061224481612220565b92915050565b5f5f604083850312156122605761225f6121b5565b5b5f61226d85828601612203565b925050602061227e85828601612236565b9150509250929050565b5f8115159050919050565b61229c81612288565b82525050565b5f6020820190506122b55f830184612293565b92915050565b6122c481612217565b82525050565b5f6020820190506122dd5f8301846122bb565b92915050565b5f5ffd5b5f60a082840312156122fc576122fb6122e3565b5b81905092915050565b5f6080828403121561231a576123196122e3565b5b81905092915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261234457612343612323565b5b8235905067ffffffffffffffff81111561236157612360612327565b5b60208301915083600182028301111561237d5761237c61232b565b5b9250929050565b5f5f5f5f5f610160868803121561239e5761239d6121b5565b5b5f6123ab88828901612203565b95505060206123bc888289016122e7565b94505060c06123cd88828901612305565b93505061014086013567ffffffffffffffff8111156123ef576123ee6121b9565b5b6123fb8882890161232f565b92509250509295509295909350565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61243e8161240a565b82525050565b5f6020820190506124575f830184612435565b92915050565b5f5f5f60608486031215612474576124736121b5565b5b5f61248186828701612203565b935050602061249286828701612203565b92505060406124a386828701612236565b9150509250925092565b5f60ff82169050919050565b6124c2816124ad565b82525050565b5f6020820190506124db5f8301846124b9565b92915050565b5f606082840312156124f6576124f56122e3565b5b81905092915050565b5f5f5f5f5f6101408688031215612519576125186121b5565b5b5f61252688828901612203565b9550506020612537888289016122e7565b94505060c0612548888289016124e1565b93505061012086013567ffffffffffffffff81111561256a576125696121b9565b5b6125768882890161232f565b92509250509295509295909350565b5f819050919050565b5f819050919050565b5f6125b16125ac6125a784612585565b61258e565b612585565b9050919050565b6125c181612597565b82525050565b5f62ffffff82169050919050565b6125de816125c7565b82525050565b5f6060820190506125f75f830186612435565b61260460208301856125b8565b61261160408301846125d5565b949350505050565b5f61ffff82169050919050565b61262f81612619565b82525050565b5f6020820190506126485f830184612626565b92915050565b61265781612585565b8114612661575f5ffd5b50565b5f813590506126728161264e565b92915050565b5f5f5f5f5f5f5f6101a0888a031215612694576126936121b5565b5b5f6126a18a828b01612203565b97505060206126b28a828b016122e7565b96505060c06126c38a828b01612305565b9550506101406126d58a828b01612664565b9450506101606126e78a828b01612664565b93505061018088013567ffffffffffffffff811115612709576127086121b9565b5b6127158a828b0161232f565b925092505092959891949750929550565b61272f81612597565b82525050565b5f6040820190506127485f830185612435565b6127556020830184612726565b9392505050565b612765816121bd565b811461276f575f5ffd5b50565b5f813590506127808161275c565b92915050565b5f8160020b9050919050565b61279b81612786565b81146127a5575f5ffd5b50565b5f813590506127b681612792565b92915050565b5f5f5f5f61010085870312156127d5576127d46121b5565b5b5f6127e287828801612203565b94505060206127f3878288016122e7565b93505060c061280487828801612772565b92505060e0612815878288016127a8565b91505092959194509250565b5f60208284031215612836576128356121b5565b5b5f61284384828501612203565b91505092915050565b612855816121dc565b82525050565b5f60208201905061286e5f83018461284c565b92915050565b5f5f5f5f5f5f610160878903121561288f5761288e6121b5565b5b5f61289c89828a01612203565b96505060206128ad89828a016122e7565b95505060c06128be89828a016124e1565b9450506101206128d089828a01612664565b93505061014087013567ffffffffffffffff8111156128f2576128f16121b9565b5b6128fe89828a0161232f565b92509250509295509295509295565b5f81600f0b9050919050565b6129228161290d565b82525050565b5f60408201905061293b5f830185612435565b6129486020830184612919565b9392505050565b5f5f5f5f5f5f610120878903121561296a576129696121b5565b5b5f61297789828a01612203565b965050602061298889828a016122e7565b95505060c061299989828a01612236565b94505060e06129aa89828a01612236565b93505061010087013567ffffffffffffffff8111156129cc576129cb6121b9565b5b6129d889828a0161232f565b92509250509295509295509295565b6129f081612288565b82525050565b6101c082015f820151612a0b5f8501826129e7565b506020820151612a1e60208501826129e7565b506040820151612a3160408501826129e7565b506060820151612a4460608501826129e7565b506080820151612a5760808501826129e7565b5060a0820151612a6a60a08501826129e7565b5060c0820151612a7d60c08501826129e7565b5060e0820151612a9060e08501826129e7565b50610100820151612aa56101008501826129e7565b50610120820151612aba6101208501826129e7565b50610140820151612acf6101408501826129e7565b50610160820151612ae46101608501826129e7565b50610180820151612af96101808501826129e7565b506101a0820151612b0e6101a08501826129e7565b50505050565b5f6101c082019050612b285f8301846129f6565b92915050565b5f612b48612b43612b3e846121bd565b61258e565b6121bd565b9050919050565b5f612b5982612b2e565b9050919050565b5f612b6a82612b4f565b9050919050565b612b7a81612b60565b82525050565b5f602082019050612b935f830184612b71565b92915050565b5f5f5f60e08486031215612bb057612baf6121b5565b5b5f612bbd86828701612203565b9350506020612bce868287016122e7565b92505060c0612bdf86828701612772565b9150509250925092565b5f5f60408385031215612bff57612bfe6121b5565b5b5f612c0c85828601612203565b9250506020612c1d85828601612203565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c6b57607f821691505b602082108103612c7e57612c7d612c27565b5b50919050565b5f606082019050612c975f83018661284c565b612ca460208301856122bb565b612cb160408301846122bb565b949350505050565b612cc281612288565b8114612ccc575f5ffd5b50565b5f81359050612cdd81612cb9565b92915050565b5f60208284031215612cf857612cf76121b5565b5b5f612d0584828501612ccf565b91505092915050565b612d17816121dc565b8114612d21575f5ffd5b50565b5f81359050612d3281612d0e565b92915050565b5f60208284031215612d4d57612d4c6121b5565b5b5f612d5a84828501612d24565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d9a82612585565b91507f80000000000000000000000000000000000000000000000000000000000000008203612dcc57612dcb612d63565b5b815f039050919050565b5f612de082612217565b9150612deb83612217565b9250828202612df981612217565b91508282048414831517612e1057612e0f612d63565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e4e82612217565b9150612e5983612217565b925082612e6957612e68612e17565b5b828204905092915050565b5f612e7e82612b4f565b9050919050565b612e8e81612e74565b82525050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b5f612ec9612ec4612ebf84612e94565b61258e565b612217565b9050919050565b612ed981612eaf565b82525050565b5f606082019050612ef25f830186612e85565b612eff602083018561284c565b612f0c6040830184612ed0565b949350505050565b5f81905092915050565b50565b5f612f2c5f83612f14565b9150612f3782612f1e565b5f82019050919050565b5f612f4b82612f21565b9150819050919050565b7f466c61745461783a207472656173757279207472616e73666572206661696c655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f612faf60218361212f565b9150612fba82612f55565b604082019050919050565b5f6020820190508181035f830152612fdc81612fa3565b9050919050565b5f612fed82612217565b9150612ff883612217565b92508282019050808211156130105761300f612d63565b5b92915050565b61301f81612e94565b82525050565b5f6040820190506130385f830185613016565b6130456020830184612293565b939250505056fea164736f6c634300081e000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9000000000000000000000000003af689cd6cdb7d85826f2a22c926ecc799720e2

-----Decoded View---------------
Arg [0] : _poolManager (address): 0x000000000004444c5dc75cB358380D2e3dE08A90
Arg [1] : _owner (address): 0x03Af689Cd6CdB7D85826F2A22C926ecc799720e2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90
Arg [1] : 00000000000000000000000003af689cd6cdb7d85826f2a22c926ecc799720e2

🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.

Etherscan Logo Etherscan Logo
Etherscan AI Beta
Holders Overview


Etherscan AI can make mistakes, please DYOR. Not financial advice