Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
There are no matching entries
Please try again later
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method |
Block
|
From
|
To
|
|||
|---|---|---|---|---|---|---|---|
| 0x61010060 | 25777812 | 82 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
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":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"},{"internalType":"contract ICurveStableSwapNG","name":"_pool","type":"address"},{"internalType":"contract ICurveStableSwapFactoryNG","name":"_curveFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AmountOutExceeded","type":"error"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"DeltaNotNegative","type":"error"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"DeltaNotPositive","type":"error"},{"inputs":[],"name":"HookNotImplemented","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidPoolId","type":"error"},{"inputs":[],"name":"LiquidityNotAllowed","type":"error"},{"inputs":[],"name":"NativeCurrencyNotSupported","type":"error"},{"inputs":[],"name":"NotPoolManager","type":"error"},{"inputs":[],"name":"PoolDoesNotExist","type":"error"},{"inputs":[],"name":"PoolIsMetaPool","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"TokenNotInPool","type":"error"},{"inputs":[{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"}],"name":"TokensNotInPool","type":"error"},{"inputs":[],"name":"UnspecifiedAmountExceeded","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"poolId","type":"bytes32"}],"name":"AggregatorPoolRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"poolId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"int256","name":"amount0","type":"int256"},{"indexed":false,"internalType":"int256","name":"amount1","type":"int256"},{"indexed":false,"internalType":"uint24","name":"swapFee","type":"uint24"}],"name":"HookSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"Currency","name":"currency","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProtocolFeesCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenJar","type":"address"}],"name":"TokenJarUpdated","type":"event"},{"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":"delta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","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":"delta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","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":[],"name":"aggregatorHookVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"curveFactory","outputs":[{"internalType":"contract ICurveStableSwapFactoryNG","name":"","type":"address"}],"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":"permissions","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pollTokenJar","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"contract ICurveStableSwapNG","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"","type":"bytes32"}],"name":"poolIdToTokenInfo","outputs":[{"internalType":"int128","name":"token0Index","type":"int128"},{"internalType":"int128","name":"token1Index","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeFlags","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeMultiplier","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"}],"name":"pseudoTotalValueLocked","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"zeroToOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"PoolId","name":"poolId","type":"bytes32"}],"name":"quote","outputs":[{"internalType":"uint256","name":"amountUnspecified","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenJar","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
610100604052348015610010575f5ffd5b50604051613bc9380380613bc983398101604081905261002f916102a4565b60408051808201909152601b81527f537461626c65537761704e4741676772656761746f722076312e300000000000602082015260196080526001600160a01b03841660a052839081610081306100a9565b50600161008e8282610386565b5050506001600160a01b0391821660c0521660e05250610440565b61012881610123604080516101c0810182525f60208201819052606082018190526080820181905260a0820181905260e0820181905261010082018190526101208201819052610160820181905261018082018190526101a0820152600160c0820181905261014082018190528082529181019190915290565b61012b565b50565b805115156120008316151514158061014f5750602081015115156110008316151514155b806101665750604081015115156108008316151514155b8061017d5750606081015115156104008316151514155b806101945750608081015115156102008316151514155b806101ab575060a081015115156101008316151514155b806101c1575060c0810151151560808316151514155b806101d7575060e0810151151560408316151514155b806101ee5750610100810151151560208316151514155b806102055750610120810151151560108316151514155b8061021c5750610140810151151560088316151514155b806102335750610160810151151560048316151514155b8061024a5750610180810151151560028316151514155b8061026157506101a0810151151560018316151514155b1561027757610277630732d7b560e51b8361027b565b5050565b815f526001600160a01b03811660045260245ffd5b6001600160a01b0381168114610128575f5ffd5b5f5f5f606084860312156102b6575f5ffd5b83516102c181610290565b60208501519093506102d281610290565b60408501519092506102e381610290565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061031657607f821691505b60208210810361033457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038157805f5260205f20601f840160051c8101602085101561035f5750805b601f840160051c820191505b8181101561037e575f815560010161036b565b50505b505050565b81516001600160401b0381111561039f5761039f6102ee565b6103b3816103ad8454610302565b8461033a565b6020601f8211600181146103e5575f83156103ce5750848201515b5f19600385901b1c1916600184901b17845561037e565b5f84815260208120601f198516915b8281101561041457878501518255602094850194600190920191016103f4565b508482101561043157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e0516136456105845f395f8181610499015281816114c201526115cb01525f81816101bc0152818161081e015281816108fa0152818161107101528181611166015281816112270152818161130401528181611498015281816115a1015281816116770152818161190e0152818161197e01528181611ef4015281816126f7015261284701525f81816105e901528181610664015281816106ed0152818161097201528181610a5c01528181610aeb01528181610b7a01528181610c0201528181610c8f01528181610d390152818161139701528181611b1f01528181611b690152818161200d015281816120d501528181612149015281816121ea01528181612645015281816127990152818161281f015281816128b60152818161298501526129c701525f81816102190152611d1c01526136455ff3fe608060405260043610610170575f3560e01c80636fe7e6eb116100c6578063c4e833ce1161007c578063dc98354e11610057578063dc98354e1461060b578063e1b4af6914610515578063f777ce221461062a575f5ffd5b8063c4e833ce14610534578063cd272714146105b9578063dc4c90d3146105d8575f5ffd5b8063ae6836d6116100ac578063ae6836d614610488578063b47b2fb1146104bb578063b6a8b0fa14610515575f5ffd5b80636fe7e6eb146104695780639f063efc14610412575f5ffd5b80632c2efcac11610126578063490c98f511610101578063490c98f514610385578063575e24b4146103b05780636c2bbe7e14610412575f5ffd5b80632c2efcac1461031f5780632d910fb41461033d5780633f7d117914610371575f5ffd5b806321d0ee701161015657806321d0ee701461024f578063259982e51461029f57806328401c10146102be575f5ffd5b806316f0115b146101ab5780631ce4c78b14610208575f5ffd5b366101a7576040517fa80433dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5ffd5b3480156101b6575f5ffd5b506101de7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610213575f5ffd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b60405162ffffff90911681526020016101ff565b34801561025a575f5ffd5b5061026e610269366004612e4f565b61064b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101ff565b3480156102aa575f5ffd5b5061026e6102b9366004612e4f565b6106d4565b3480156102c9575f5ffd5b506103056102d8366004612ec6565b60026020525f9081526040902054600f81810b917001000000000000000000000000000000009004900b82565b60408051600f93840b81529190920b6020820152016101ff565b34801561032a575f5ffd5b506108005b6040519081526020016101ff565b348015610348575f5ffd5b5061035c610357366004612ec6565b610751565b604080519283526020830191909152016101ff565b34801561037c575f5ffd5b506101de61096b565b348015610390575f5ffd5b505f546101de9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103bb575f5ffd5b506103cf6103ca366004612eed565b610a41565b604080517fffffffff000000000000000000000000000000000000000000000000000000009094168452602084019290925262ffffff16908201526060016101ff565b34801561041d575f5ffd5b5061043161042c366004612f47565b610ad1565b604080517fffffffff0000000000000000000000000000000000000000000000000000000090931683526020830191909152016101ff565b348015610474575f5ffd5b5061026e610483366004612fe3565b610b61565b348015610493575f5ffd5b506101de7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c6575f5ffd5b506104da6104d536600461303a565b610be8565b604080517fffffffff000000000000000000000000000000000000000000000000000000009093168352600f9190910b6020830152016101ff565b348015610520575f5ffd5b5061026e61052f3660046130bb565b610c76565b34801561053f575f5ffd5b50604080516101c0810182525f60208201819052606082018190526080820181905260a0820181905260e0820181905261010082018190526101208201819052610160820181905261018082018190526101a0820152600160c0820181905261014082018190528082528183015290516101ff9190613115565b3480156105c4575f5ffd5b5061032f6105d3366004613243565b610cff565b3480156105e3575f5ffd5b506101de7f000000000000000000000000000000000000000000000000000000000000000081565b348015610616575f5ffd5b5061026e610625366004613275565b610d20565b348015610635575f5ffd5b5061063e610d9b565b6040516101ff91906132bc565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106bb576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c88686868686610e27565b90505b95945050505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610744576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c88686868686610e5a565b5f818152600260209081526040808320815180830190925254600f81810b808452700100000000000000000000000000000000909204900b9282019290925282911580156107a457506020810151600f0b155b156107db576040517f0afa7ee800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516040517f4903b0d10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690634903b0d190602401602060405180830381865afa158015610878573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c919061330f565b60208201516040517f4903b0d10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015290935073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690634903b0d190602401602060405180830381865afa15801561093f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610963919061330f565b915050915091565b5f5f6109967f0000000000000000000000000000000000000000000000000000000000000000610e8d565b5f5490915073ffffffffffffffffffffffffffffffffffffffff808316911614610a24575f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f9aafce815f6249ca174c3adc0232e8758909994867884013369549fbe000d51791a25b50505f5473ffffffffffffffffffffffffffffffffffffffff1690565b5f80803373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ab3576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ac08888888888610fd6565b925092509250955095509592505050565b5f803373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b42576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5189898989898989611009565b9150915097509795505050505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610bd1576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bdd85858585610e27565b90505b949350505050565b5f803373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c59576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c67888888888888611009565b91509150965096945050505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ce6576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf4878787878787610e27565b979650505050505050565b5f610d16848484610d1188888861103d565b611390565b90505b9392505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610d90576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d1684848461145b565b60018054610da890613326565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd490613326565b8015610e1f5780601f10610df657610100808354040283529160200191610e1f565b820191905f5260205f20905b815481529060010190602001808311610e0257829003601f168201915b505050505081565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f78895c1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8273ffffffffffffffffffffffffffffffffffffffff1663f02de3b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efc9190613371565b905073ffffffffffffffffffffffffffffffffffffffff81161580610f36575073ffffffffffffffffffffffffffffffffffffffff81163b155b15610f4357505f92915050565b8073ffffffffffffffffffffffffffffffffffffffff1663e0ef2b4b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fc8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fc591810190613371565b60015b15610fd05791505b50919050565b5f5f5f5f5f610fe58989611a3f565b91509150610ff68a8a8a8585611af2565b9450945094505050955095509592505050565b5f5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600260205260408120818412156111b257841561114d57805473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635e0d443f90600f81810b917001000000000000000000000000000000009004900b6110bd886133b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152600f93840b60048201529190920b60248201526044810191909152606401602060405180830381865afa158015611122573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611146919061330f565b9150611388565b805473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635e0d443f907001000000000000000000000000000000008104600f90810b91900b6110bd886133b9565b835f6111bd82611cab565b6111c790836133ef565b905086156112ac5782546040517f67df02ca000000000000000000000000000000000000000000000000000000008152600f82810b600483015270010000000000000000000000000000000090920490910b6024820152604481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906367df02ca90606401602060405180830381865afa158015611281573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a5919061330f565b9350611385565b82546040517f67df02ca0000000000000000000000000000000000000000000000000000000081527001000000000000000000000000000000008204600f90810b60048301529190910b6024820152604481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906367df02ca90606401602060405180830381865afa15801561135e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611382919061330f565b93505b50505b509392505050565b5f5f6113bd7f00000000000000000000000000000000000000000000000000000000000000008786611cd1565b90508062ffffff165f036113d45782915050610be0565b5f5473ffffffffffffffffffffffffffffffffffffffff166113fa576113f861096b565b505b5f5473ffffffffffffffffffffffffffffffffffffffff1661141f5782915050610be0565b5f8086129061142f838387611d41565b9050816114455761144081866133ef565b61144f565b61144f8186613402565b98975050505050505050565b6040517fe4d332a900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e4d332a990602401602060405180830381865afa158015611509573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152d9190613415565b15611564576040517f57fa586900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f940494f100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063940494f190602401602060405180830381865afa158015611612573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611636919061330f565b90505f808080805b85811015611795576040517fc6610657000000000000000000000000000000000000000000000000000000008152600481018290525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c661065790602401602060405180830381865afa1580156116d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f59190613371565b905061170460208b018b613430565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611742578193506001955061178c565b61175260408b0160208c01613430565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361178c57819250600194505b5060010161163e565b50831580156117a2575082155b1561181b576117b46020890189613430565b6117c460408a0160208b01613430565b6040517f97956d6e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283166004820152911660248201526044015b60405180910390fd5b836118785761182d6020890189613430565b6040517f8466f04600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401611812565b8261188d5761182d6040890160208a01613430565b60408051808201909152600f83810b825282900b602082015260025f6118c26118bb368d90038d018d61345d565b60a0902090565b81526020808201929092526040015f208251928201516fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002931692909217909155611979907f0000000000000000000000000000000000000000000000000000000000000000907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9061195c908c018c613430565b73ffffffffffffffffffffffffffffffffffffffff169190611d7e565b6119ce7f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61195c60408c0160208d01613430565b6119e06118bb368a90038a018a61345d565b6040517fe4e250d624b5ed2f65699d87988884c47eac735ffb1dcccead084c5254b14373905f90a2611a1061096b565b507fdc98354e000000000000000000000000000000000000000000000000000000009998505050505050505050565b5f8080611a4f6020850185613510565b611a6557611a606020860186613430565b611a75565b611a756040860160208701613430565b90505f611a856020860186613510565b611a9e57611a996040870160208801613430565b611aab565b611aab6020870187613430565b90505f8080611acd85858a611ac86118bb368f90038f018f61345d565b611e49565b92509250925080611ae357611ae3853085612084565b509450925050505b9250929050565b5f5f5f5f611b0786865f8a6020013512612276565b90505f611b1760208901356133b9565b90505f611b627f0000000000000000000000000000000000000000000000000000000000000000611b4b60208c018c613510565b611b5d6118bb368f90038f018f61345d565b611cd1565b9050611b917f00000000000000000000000000000000000000000000000000000000000000008b8b8685612292565b611b9b908461352b565b92505f896020013512611bb457611bb187613579565b91505b5f8060208b018035821390611bc9908d613510565b151503611be15783600f0b915084600f0b9050611bee565b84600f0b915083600f0b90505b73ffffffffffffffffffffffffffffffffffffffff8d16611c176118bb368f90038f018f61345d565b604080518581526020810185905262ffffff87168183015290517f6150bb53cd76c5702d6074239fc7b6c2a5495d339eb122fdc06252f3efdbbc1b9181900360600190a37f575e24b4000000000000000000000000000000000000000000000000000000006fffffffffffffffffffffffffffffffff8616608086901b17909e909d505f9c509a5050505050505050505050565b5f80611cba620f4240846135e2565b905060148111611ccb576014610d19565b92915050565b5f80611cf373ffffffffffffffffffffffffffffffffffffffff861684612461565b509250505083611d0b57600c81901c610fff16611d11565b610fff81165b61ffff1691506106cb7f00000000000000000000000000000000000000000000000000000000000000008361361a565b5f8215611d6257611d5b828562ffffff16620f4240612546565b9050610d19565b611d5b8262ffffff8616611d7981620f4240613402565b612546565b611d8a8383835f612576565b611e4457611d9b83835f6001612576565b611de9576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401611812565b611df68383836001612576565b611e44576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401611812565b505050565b5f8181526002602090815260408220829182919082908190611e6d90890189613510565b15611e975750508054600f81810b917001000000000000000000000000000000009004900b611eb8565b505080547001000000000000000000000000000000008104600f90810b91900b5b5f88602001351215611ed857611ed160208901356133b9565b9450611fbb565b602088013573ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166367df02ca8484611f2485611cab565b611f2e90866133ef565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152600f93840b60048201529190920b60248201526044810191909152606401602060405180830381865afa158015611f93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb7919061330f565b9550505b6040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152306024830152604482018790527f00000000000000000000000000000000000000000000000000000000000000001690630b0d9c09906064015f604051808303815f87803b15801561204e575f5ffd5b505af1158015612060573d5f5f3e3d5ffd5b505050506120718583838d8c6125fe565b9550600193505050509450945094915050565b805f0361209057505050565b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a5841194906024015f604051808303815f87803b158015612116575f5ffd5b505af1158015612128573d5f5f3e3d5ffd5b5050505073ffffffffffffffffffffffffffffffffffffffff83166121dd577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166311da60b4826040518263ffffffff1660e01b815260040160206040518083038185885af11580156121b2573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906121d7919061330f565b50505050565b6121e883838361294c565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015612252573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121d7919061330f565b5f5f821561228957508261114681613579565b50929392505050565b5f8162ffffff165f036122a657505f6106cb565b5f5473ffffffffffffffffffffffffffffffffffffffff166122cc576122ca61096b565b505b5f5473ffffffffffffffffffffffffffffffffffffffff166122ef57505f6106cb565b5f6020850180358213919082906123069088613510565b15151461231f5761231a6020880188613430565b61232f565b61232f6040880160208901613430565b90505f5f86600f0b12612342578561234b565b61234b86613579565b6fffffffffffffffffffffffffffffffff1690505f612371865f8a602001351284611d41565b5f5460405182815291925073ffffffffffffffffffffffffffffffffffffffff858116929116907fdb249cf7a102711dda1beaba415bb011ee0e1402c7f67617236fed5739235d6c9060200160405180910390a35f546040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152918216602482015260448101839052908b1690630b0d9c09906064015f604051808303815f87803b15801561243d575f5ffd5b505af115801561244f573d5f5f3e3d5ffd5b50929c9b505050505050505050505050565b5f5f5f5f5f61246f866129ec565b6040517f1e2eaeaf000000000000000000000000000000000000000000000000000000008152600481018290529091505f9073ffffffffffffffffffffffffffffffffffffffff891690631e2eaeaf90602401602060405180830381865afa1580156124dd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612501919061330f565b905073ffffffffffffffffffffffffffffffffffffffff811695508060a01c60020b945062ffffff8160b81c16935062ffffff8160d01c169250505092959194509250565b5f612552848484612a28565b90508180612562576125626135b5565b83850915610d195760010180610d19575f5ffd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000005f81815273ffffffffffffffffffffffffffffffffffffffff8616600452602485905291602083604481808b5af1925060015f511483166125f25783831516156125e6573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a5841194906024015f604051808303815f87803b158015612688575f5ffd5b505af115801561269a573d5f5f3e3d5ffd5b505050505f826020013513156127c3576040517fddc1f59d000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018790525f60648201523060848201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063ddc1f59d9060a4016020604051808303815f875af1158015612752573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612776919061330f565b505060208101356127be73ffffffffffffffffffffffffffffffffffffffff84167f000000000000000000000000000000000000000000000000000000000000000083612ae3565b6128b4565b6040517fddc1f59d000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018790525f606482015273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660848301527f0000000000000000000000000000000000000000000000000000000000000000169063ddc1f59d9060a4016020604051808303815f875af115801561288d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b1919061330f565b90505b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303815f875af115801561291e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612942919061330f565b5095945050505050565b3073ffffffffffffffffffffffffffffffffffffffff8316036129aa57611e4473ffffffffffffffffffffffffffffffffffffffff84167f000000000000000000000000000000000000000000000000000000000000000083612ae3565b611e4473ffffffffffffffffffffffffffffffffffffffff8416837f000000000000000000000000000000000000000000000000000000000000000084612c00565b6040515f90612a0b908390600690602001918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b5f838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870982811083820303915050808411612a66575f5ffd5b805f03612a7857508290049050610d19565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff8416612b3e575f5f5f5f85875af1905080612b3957612b39835f7ff4b3b1bc00000000000000000000000000000000000000000000000000000000612c5c565b6121d7565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015282602482015260205f6044835f895af13d15601f3d1160015f511416171691505f81525f60208201525f604082015250806121d7576121d7847fa9059cbb000000000000000000000000000000000000000000000000000000007ff27f64e400000000000000000000000000000000000000000000000000000000612c5c565b612c0e848484846001612d2a565b6121d7576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401611812565b6040517f90bfb8650000000000000000000000000000000000000000000000000000000080825273ffffffffffffffffffffffffffffffffffffffff851660048301527fffffffff0000000000000000000000000000000000000000000000000000000084166024830152608060448301526020601f3d018190040260a0810160648401523d608484015290913d5f60a483013e60048260a4018201527fffffffff0000000000000000000000000000000000000000000000000000000084168260c4018201528160e40181fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f81815273ffffffffffffffffffffffffffffffffffffffff8781166004528616602452604485905291602083606481808c5af1925060015f51148316612dac578383151615612da0573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114612dde575f5ffd5b50565b8035612dec81612dbd565b919050565b5f60a08284031215610fd0575f5ffd5b5f60808284031215610fd0575f5ffd5b5f5f83601f840112612e21575f5ffd5b50813567ffffffffffffffff811115612e38575f5ffd5b602083019150836020828501011115611aeb575f5ffd5b5f5f5f5f5f6101608688031215612e64575f5ffd5b8535612e6f81612dbd565b9450612e7e8760208801612df1565b9350612e8d8760c08801612e01565b925061014086013567ffffffffffffffff811115612ea9575f5ffd5b612eb588828901612e11565b969995985093965092949392505050565b5f60208284031215612ed6575f5ffd5b5035919050565b5f60608284031215610fd0575f5ffd5b5f5f5f5f5f6101408688031215612f02575f5ffd5b8535612f0d81612dbd565b9450612f1c8760208801612df1565b9350612f2b8760c08801612edd565b925061012086013567ffffffffffffffff811115612ea9575f5ffd5b5f5f5f5f5f5f5f6101a0888a031215612f5e575f5ffd5b8735612f6981612dbd565b9650612f788960208a01612df1565b9550612f878960c08a01612e01565b94506101408801359350610160880135925061018088013567ffffffffffffffff811115612fb3575f5ffd5b612fbf8a828b01612e11565b989b979a50959850939692959293505050565b8035600281900b8114612dec575f5ffd5b5f5f5f5f6101008587031215612ff7575f5ffd5b843561300281612dbd565b93506130118660208701612df1565b925060c085013561302181612dbd565b915061302f60e08601612fd2565b905092959194509250565b5f5f5f5f5f5f6101608789031215613050575f5ffd5b863561305b81612dbd565b955061306a8860208901612df1565b94506130798860c08901612edd565b9350610120870135925061014087013567ffffffffffffffff81111561309d575f5ffd5b6130a989828a01612e11565b979a9699509497509295939492505050565b5f5f5f5f5f5f61012087890312156130d1575f5ffd5b86356130dc81612dbd565b95506130eb8860208901612df1565b945060c0870135935060e0870135925061010087013567ffffffffffffffff81111561309d575f5ffd5b8151151581526101c081016020830151613133602084018215159052565b506040830151613147604084018215159052565b50606083015161315b606084018215159052565b50608083015161316f608084018215159052565b5060a083015161318360a084018215159052565b5060c083015161319760c084018215159052565b5060e08301516131ab60e084018215159052565b506101008301516131c161010084018215159052565b506101208301516131d761012084018215159052565b506101408301516131ed61014084018215159052565b5061016083015161320361016084018215159052565b5061018083015161321961018084018215159052565b506101a083015161322f6101a084018215159052565b5092915050565b8015158114612dde575f5ffd5b5f5f5f60608486031215613255575f5ffd5b833561326081613236565b95602085013595506040909401359392505050565b5f5f5f60e08486031215613287575f5ffd5b833561329281612dbd565b92506132a18560208601612df1565b915060c08401356132b181612dbd565b809150509250925092565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f6020828403121561331f575f5ffd5b5051919050565b600181811c9082168061333a57607f821691505b602082108103610fd0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60208284031215613381575f5ffd5b8151610d1981612dbd565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7f800000000000000000000000000000000000000000000000000000000000000082036133e9576133e961338c565b505f0390565b80820180821115611ccb57611ccb61338c565b81810381811115611ccb57611ccb61338c565b5f60208284031215613425575f5ffd5b8151610d1981613236565b5f60208284031215613440575f5ffd5b8135610d1981612dbd565b803562ffffff81168114612dec575f5ffd5b5f60a082840312801561346e575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156134b7577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040526134c383612de1565b81526134d160208401612de1565b60208201526134e26040840161344b565b60408201526134f360608401612fd2565b606082015261350460808401612de1565b60808201529392505050565b5f60208284031215613520575f5ffd5b8135610d1981613236565b600f81810b9083900b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff8000000000000000000000000000000082121715611ccb57611ccb61338c565b5f81600f0b7fffffffffffffffffffffffffffffffff8000000000000000000000000000000081036135ad576135ad61338c565b5f0392915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82613615577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b62ffffff818116838216029081169081811461322f5761322f61338c56fea164736f6c634300081d000a000000000000000000000000000000000004444c5dc75cb358380d2e3de08a900000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af080000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf
Deployed Bytecode
0x608060405260043610610170575f3560e01c80636fe7e6eb116100c6578063c4e833ce1161007c578063dc98354e11610057578063dc98354e1461060b578063e1b4af6914610515578063f777ce221461062a575f5ffd5b8063c4e833ce14610534578063cd272714146105b9578063dc4c90d3146105d8575f5ffd5b8063ae6836d6116100ac578063ae6836d614610488578063b47b2fb1146104bb578063b6a8b0fa14610515575f5ffd5b80636fe7e6eb146104695780639f063efc14610412575f5ffd5b80632c2efcac11610126578063490c98f511610101578063490c98f514610385578063575e24b4146103b05780636c2bbe7e14610412575f5ffd5b80632c2efcac1461031f5780632d910fb41461033d5780633f7d117914610371575f5ffd5b806321d0ee701161015657806321d0ee701461024f578063259982e51461029f57806328401c10146102be575f5ffd5b806316f0115b146101ab5780631ce4c78b14610208575f5ffd5b366101a7576040517fa80433dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5ffd5b3480156101b6575f5ffd5b506101de7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af0881565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610213575f5ffd5b5061023b7f000000000000000000000000000000000000000000000000000000000000001981565b60405162ffffff90911681526020016101ff565b34801561025a575f5ffd5b5061026e610269366004612e4f565b61064b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101ff565b3480156102aa575f5ffd5b5061026e6102b9366004612e4f565b6106d4565b3480156102c9575f5ffd5b506103056102d8366004612ec6565b60026020525f9081526040902054600f81810b917001000000000000000000000000000000009004900b82565b60408051600f93840b81529190920b6020820152016101ff565b34801561032a575f5ffd5b506108005b6040519081526020016101ff565b348015610348575f5ffd5b5061035c610357366004612ec6565b610751565b604080519283526020830191909152016101ff565b34801561037c575f5ffd5b506101de61096b565b348015610390575f5ffd5b505f546101de9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103bb575f5ffd5b506103cf6103ca366004612eed565b610a41565b604080517fffffffff000000000000000000000000000000000000000000000000000000009094168452602084019290925262ffffff16908201526060016101ff565b34801561041d575f5ffd5b5061043161042c366004612f47565b610ad1565b604080517fffffffff0000000000000000000000000000000000000000000000000000000090931683526020830191909152016101ff565b348015610474575f5ffd5b5061026e610483366004612fe3565b610b61565b348015610493575f5ffd5b506101de7f0000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf81565b3480156104c6575f5ffd5b506104da6104d536600461303a565b610be8565b604080517fffffffff000000000000000000000000000000000000000000000000000000009093168352600f9190910b6020830152016101ff565b348015610520575f5ffd5b5061026e61052f3660046130bb565b610c76565b34801561053f575f5ffd5b50604080516101c0810182525f60208201819052606082018190526080820181905260a0820181905260e0820181905261010082018190526101208201819052610160820181905261018082018190526101a0820152600160c0820181905261014082018190528082528183015290516101ff9190613115565b3480156105c4575f5ffd5b5061032f6105d3366004613243565b610cff565b3480156105e3575f5ffd5b506101de7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9081565b348015610616575f5ffd5b5061026e610625366004613275565b610d20565b348015610635575f5ffd5b5061063e610d9b565b6040516101ff91906132bc565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9016146106bb576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c88686868686610e27565b90505b95945050505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610744576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c88686868686610e5a565b5f818152600260209081526040808320815180830190925254600f81810b808452700100000000000000000000000000000000909204900b9282019290925282911580156107a457506020810151600f0b155b156107db576040517f0afa7ee800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516040517f4903b0d10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201527f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af0873ffffffffffffffffffffffffffffffffffffffff1690634903b0d190602401602060405180830381865afa158015610878573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c919061330f565b60208201516040517f4903b0d10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015290935073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af081690634903b0d190602401602060405180830381865afa15801561093f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610963919061330f565b915050915091565b5f5f6109967f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90610e8d565b5f5490915073ffffffffffffffffffffffffffffffffffffffff808316911614610a24575f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f9aafce815f6249ca174c3adc0232e8758909994867884013369549fbe000d51791a25b50505f5473ffffffffffffffffffffffffffffffffffffffff1690565b5f80803373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610ab3576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ac08888888888610fd6565b925092509250955095509592505050565b5f803373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610b42576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5189898989898989611009565b9150915097509795505050505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610bd1576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bdd85858585610e27565b90505b949350505050565b5f803373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610c59576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c67888888888888611009565b91509150965096945050505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610ce6576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cf4878787878787610e27565b979650505050505050565b5f610d16848484610d1188888861103d565b611390565b90505b9392505050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901614610d90576040517fae18210a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d1684848461145b565b60018054610da890613326565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd490613326565b8015610e1f5780601f10610df657610100808354040283529160200191610e1f565b820191905f5260205f20905b815481529060010190602001808311610e0257829003601f168201915b505050505081565b5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040517f78895c1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8273ffffffffffffffffffffffffffffffffffffffff1663f02de3b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efc9190613371565b905073ffffffffffffffffffffffffffffffffffffffff81161580610f36575073ffffffffffffffffffffffffffffffffffffffff81163b155b15610f4357505f92915050565b8073ffffffffffffffffffffffffffffffffffffffff1663e0ef2b4b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fc8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610fc591810190613371565b60015b15610fd05791505b50919050565b5f5f5f5f5f610fe58989611a3f565b91509150610ff68a8a8a8585611af2565b9450945094505050955095509592505050565b5f5f6040517f0a85dc2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600260205260408120818412156111b257841561114d57805473ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af081690635e0d443f90600f81810b917001000000000000000000000000000000009004900b6110bd886133b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152600f93840b60048201529190920b60248201526044810191909152606401602060405180830381865afa158015611122573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611146919061330f565b9150611388565b805473ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af081690635e0d443f907001000000000000000000000000000000008104600f90810b91900b6110bd886133b9565b835f6111bd82611cab565b6111c790836133ef565b905086156112ac5782546040517f67df02ca000000000000000000000000000000000000000000000000000000008152600f82810b600483015270010000000000000000000000000000000090920490910b6024820152604481018290527f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af0873ffffffffffffffffffffffffffffffffffffffff16906367df02ca90606401602060405180830381865afa158015611281573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a5919061330f565b9350611385565b82546040517f67df02ca0000000000000000000000000000000000000000000000000000000081527001000000000000000000000000000000008204600f90810b60048301529190910b6024820152604481018290527f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af0873ffffffffffffffffffffffffffffffffffffffff16906367df02ca90606401602060405180830381865afa15801561135e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611382919061330f565b93505b50505b509392505050565b5f5f6113bd7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a908786611cd1565b90508062ffffff165f036113d45782915050610be0565b5f5473ffffffffffffffffffffffffffffffffffffffff166113fa576113f861096b565b505b5f5473ffffffffffffffffffffffffffffffffffffffff1661141f5782915050610be0565b5f8086129061142f838387611d41565b9050816114455761144081866133ef565b61144f565b61144f8186613402565b98975050505050505050565b6040517fe4d332a900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af08811660048301525f917f0000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf9091169063e4d332a990602401602060405180830381865afa158015611509573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152d9190613415565b15611564576040517f57fa586900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f940494f100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af08811660048301525f917f0000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf9091169063940494f190602401602060405180830381865afa158015611612573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611636919061330f565b90505f808080805b85811015611795576040517fc6610657000000000000000000000000000000000000000000000000000000008152600481018290525f907f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af0873ffffffffffffffffffffffffffffffffffffffff169063c661065790602401602060405180830381865afa1580156116d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f59190613371565b905061170460208b018b613430565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611742578193506001955061178c565b61175260408b0160208c01613430565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361178c57819250600194505b5060010161163e565b50831580156117a2575082155b1561181b576117b46020890189613430565b6117c460408a0160208b01613430565b6040517f97956d6e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283166004820152911660248201526044015b60405180910390fd5b836118785761182d6020890189613430565b6040517f8466f04600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401611812565b8261188d5761182d6040890160208a01613430565b60408051808201909152600f83810b825282900b602082015260025f6118c26118bb368d90038d018d61345d565b60a0902090565b81526020808201929092526040015f208251928201516fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002931692909217909155611979907f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af08907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9061195c908c018c613430565b73ffffffffffffffffffffffffffffffffffffffff169190611d7e565b6119ce7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61195c60408c0160208d01613430565b6119e06118bb368a90038a018a61345d565b6040517fe4e250d624b5ed2f65699d87988884c47eac735ffb1dcccead084c5254b14373905f90a2611a1061096b565b507fdc98354e000000000000000000000000000000000000000000000000000000009998505050505050505050565b5f8080611a4f6020850185613510565b611a6557611a606020860186613430565b611a75565b611a756040860160208701613430565b90505f611a856020860186613510565b611a9e57611a996040870160208801613430565b611aab565b611aab6020870187613430565b90505f8080611acd85858a611ac86118bb368f90038f018f61345d565b611e49565b92509250925080611ae357611ae3853085612084565b509450925050505b9250929050565b5f5f5f5f611b0786865f8a6020013512612276565b90505f611b1760208901356133b9565b90505f611b627f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90611b4b60208c018c613510565b611b5d6118bb368f90038f018f61345d565b611cd1565b9050611b917f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a908b8b8685612292565b611b9b908461352b565b92505f896020013512611bb457611bb187613579565b91505b5f8060208b018035821390611bc9908d613510565b151503611be15783600f0b915084600f0b9050611bee565b84600f0b915083600f0b90505b73ffffffffffffffffffffffffffffffffffffffff8d16611c176118bb368f90038f018f61345d565b604080518581526020810185905262ffffff87168183015290517f6150bb53cd76c5702d6074239fc7b6c2a5495d339eb122fdc06252f3efdbbc1b9181900360600190a37f575e24b4000000000000000000000000000000000000000000000000000000006fffffffffffffffffffffffffffffffff8616608086901b17909e909d505f9c509a5050505050505050505050565b5f80611cba620f4240846135e2565b905060148111611ccb576014610d19565b92915050565b5f80611cf373ffffffffffffffffffffffffffffffffffffffff861684612461565b509250505083611d0b57600c81901c610fff16611d11565b610fff81165b61ffff1691506106cb7f00000000000000000000000000000000000000000000000000000000000000198361361a565b5f8215611d6257611d5b828562ffffff16620f4240612546565b9050610d19565b611d5b8262ffffff8616611d7981620f4240613402565b612546565b611d8a8383835f612576565b611e4457611d9b83835f6001612576565b611de9576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401611812565b611df68383836001612576565b611e44576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401611812565b505050565b5f8181526002602090815260408220829182919082908190611e6d90890189613510565b15611e975750508054600f81810b917001000000000000000000000000000000009004900b611eb8565b505080547001000000000000000000000000000000008104600f90810b91900b5b5f88602001351215611ed857611ed160208901356133b9565b9450611fbb565b602088013573ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af08166367df02ca8484611f2485611cab565b611f2e90866133ef565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152600f93840b60048201529190920b60248201526044810191909152606401602060405180830381865afa158015611f93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb7919061330f565b9550505b6040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152306024830152604482018790527f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a901690630b0d9c09906064015f604051808303815f87803b15801561204e575f5ffd5b505af1158015612060573d5f5f3e3d5ffd5b505050506120718583838d8c6125fe565b9550600193505050509450945094915050565b805f0361209057505050565b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301527f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90169063a5841194906024015f604051808303815f87803b158015612116575f5ffd5b505af1158015612128573d5f5f3e3d5ffd5b5050505073ffffffffffffffffffffffffffffffffffffffff83166121dd577f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff166311da60b4826040518263ffffffff1660e01b815260040160206040518083038185885af11580156121b2573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906121d7919061330f565b50505050565b6121e883838361294c565b7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015612252573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121d7919061330f565b5f5f821561228957508261114681613579565b50929392505050565b5f8162ffffff165f036122a657505f6106cb565b5f5473ffffffffffffffffffffffffffffffffffffffff166122cc576122ca61096b565b505b5f5473ffffffffffffffffffffffffffffffffffffffff166122ef57505f6106cb565b5f6020850180358213919082906123069088613510565b15151461231f5761231a6020880188613430565b61232f565b61232f6040880160208901613430565b90505f5f86600f0b12612342578561234b565b61234b86613579565b6fffffffffffffffffffffffffffffffff1690505f612371865f8a602001351284611d41565b5f5460405182815291925073ffffffffffffffffffffffffffffffffffffffff858116929116907fdb249cf7a102711dda1beaba415bb011ee0e1402c7f67617236fed5739235d6c9060200160405180910390a35f546040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152918216602482015260448101839052908b1690630b0d9c09906064015f604051808303815f87803b15801561243d575f5ffd5b505af115801561244f573d5f5f3e3d5ffd5b50929c9b505050505050505050505050565b5f5f5f5f5f61246f866129ec565b6040517f1e2eaeaf000000000000000000000000000000000000000000000000000000008152600481018290529091505f9073ffffffffffffffffffffffffffffffffffffffff891690631e2eaeaf90602401602060405180830381865afa1580156124dd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612501919061330f565b905073ffffffffffffffffffffffffffffffffffffffff811695508060a01c60020b945062ffffff8160b81c16935062ffffff8160d01c169250505092959194509250565b5f612552848484612a28565b90508180612562576125626135b5565b83850915610d195760010180610d19575f5ffd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000005f81815273ffffffffffffffffffffffffffffffffffffffff8616600452602485905291602083604481808b5af1925060015f511483166125f25783831516156125e6573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301525f917f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a909091169063a5841194906024015f604051808303815f87803b158015612688575f5ffd5b505af115801561269a573d5f5f3e3d5ffd5b505050505f826020013513156127c3576040517fddc1f59d000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018790525f60648201523060848201527f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af0873ffffffffffffffffffffffffffffffffffffffff169063ddc1f59d9060a4016020604051808303815f875af1158015612752573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612776919061330f565b505060208101356127be73ffffffffffffffffffffffffffffffffffffffff84167f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9083612ae3565b6128b4565b6040517fddc1f59d000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018790525f606482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90811660848301527f0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af08169063ddc1f59d9060a4016020604051808303815f875af115801561288d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b1919061330f565b90505b7f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9073ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303815f875af115801561291e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612942919061330f565b5095945050505050565b3073ffffffffffffffffffffffffffffffffffffffff8316036129aa57611e4473ffffffffffffffffffffffffffffffffffffffff84167f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9083612ae3565b611e4473ffffffffffffffffffffffffffffffffffffffff8416837f000000000000000000000000000000000004444c5dc75cb358380d2e3de08a9084612c00565b6040515f90612a0b908390600690602001918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b5f838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870982811083820303915050808411612a66575f5ffd5b805f03612a7857508290049050610d19565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff8416612b3e575f5f5f5f85875af1905080612b3957612b39835f7ff4b3b1bc00000000000000000000000000000000000000000000000000000000612c5c565b6121d7565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015282602482015260205f6044835f895af13d15601f3d1160015f511416171691505f81525f60208201525f604082015250806121d7576121d7847fa9059cbb000000000000000000000000000000000000000000000000000000007ff27f64e400000000000000000000000000000000000000000000000000000000612c5c565b612c0e848484846001612d2a565b6121d7576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401611812565b6040517f90bfb8650000000000000000000000000000000000000000000000000000000080825273ffffffffffffffffffffffffffffffffffffffff851660048301527fffffffff0000000000000000000000000000000000000000000000000000000084166024830152608060448301526020601f3d018190040260a0810160648401523d608484015290913d5f60a483013e60048260a4018201527fffffffff0000000000000000000000000000000000000000000000000000000084168260c4018201528160e40181fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f81815273ffffffffffffffffffffffffffffffffffffffff8781166004528616602452604485905291602083606481808c5af1925060015f51148316612dac578383151615612da0573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114612dde575f5ffd5b50565b8035612dec81612dbd565b919050565b5f60a08284031215610fd0575f5ffd5b5f60808284031215610fd0575f5ffd5b5f5f83601f840112612e21575f5ffd5b50813567ffffffffffffffff811115612e38575f5ffd5b602083019150836020828501011115611aeb575f5ffd5b5f5f5f5f5f6101608688031215612e64575f5ffd5b8535612e6f81612dbd565b9450612e7e8760208801612df1565b9350612e8d8760c08801612e01565b925061014086013567ffffffffffffffff811115612ea9575f5ffd5b612eb588828901612e11565b969995985093965092949392505050565b5f60208284031215612ed6575f5ffd5b5035919050565b5f60608284031215610fd0575f5ffd5b5f5f5f5f5f6101408688031215612f02575f5ffd5b8535612f0d81612dbd565b9450612f1c8760208801612df1565b9350612f2b8760c08801612edd565b925061012086013567ffffffffffffffff811115612ea9575f5ffd5b5f5f5f5f5f5f5f6101a0888a031215612f5e575f5ffd5b8735612f6981612dbd565b9650612f788960208a01612df1565b9550612f878960c08a01612e01565b94506101408801359350610160880135925061018088013567ffffffffffffffff811115612fb3575f5ffd5b612fbf8a828b01612e11565b989b979a50959850939692959293505050565b8035600281900b8114612dec575f5ffd5b5f5f5f5f6101008587031215612ff7575f5ffd5b843561300281612dbd565b93506130118660208701612df1565b925060c085013561302181612dbd565b915061302f60e08601612fd2565b905092959194509250565b5f5f5f5f5f5f6101608789031215613050575f5ffd5b863561305b81612dbd565b955061306a8860208901612df1565b94506130798860c08901612edd565b9350610120870135925061014087013567ffffffffffffffff81111561309d575f5ffd5b6130a989828a01612e11565b979a9699509497509295939492505050565b5f5f5f5f5f5f61012087890312156130d1575f5ffd5b86356130dc81612dbd565b95506130eb8860208901612df1565b945060c0870135935060e0870135925061010087013567ffffffffffffffff81111561309d575f5ffd5b8151151581526101c081016020830151613133602084018215159052565b506040830151613147604084018215159052565b50606083015161315b606084018215159052565b50608083015161316f608084018215159052565b5060a083015161318360a084018215159052565b5060c083015161319760c084018215159052565b5060e08301516131ab60e084018215159052565b506101008301516131c161010084018215159052565b506101208301516131d761012084018215159052565b506101408301516131ed61014084018215159052565b5061016083015161320361016084018215159052565b5061018083015161321961018084018215159052565b506101a083015161322f6101a084018215159052565b5092915050565b8015158114612dde575f5ffd5b5f5f5f60608486031215613255575f5ffd5b833561326081613236565b95602085013595506040909401359392505050565b5f5f5f60e08486031215613287575f5ffd5b833561329281612dbd565b92506132a18560208601612df1565b915060c08401356132b181612dbd565b809150509250925092565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f6020828403121561331f575f5ffd5b5051919050565b600181811c9082168061333a57607f821691505b602082108103610fd0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60208284031215613381575f5ffd5b8151610d1981612dbd565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7f800000000000000000000000000000000000000000000000000000000000000082036133e9576133e961338c565b505f0390565b80820180821115611ccb57611ccb61338c565b81810381811115611ccb57611ccb61338c565b5f60208284031215613425575f5ffd5b8151610d1981613236565b5f60208284031215613440575f5ffd5b8135610d1981612dbd565b803562ffffff81168114612dec575f5ffd5b5f60a082840312801561346e575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156134b7577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040526134c383612de1565b81526134d160208401612de1565b60208201526134e26040840161344b565b60408201526134f360608401612fd2565b606082015261350460808401612de1565b60808201529392505050565b5f60208284031215613520575f5ffd5b8135610d1981613236565b600f81810b9083900b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff8000000000000000000000000000000082121715611ccb57611ccb61338c565b5f81600f0b7fffffffffffffffffffffffffffffffff8000000000000000000000000000000081036135ad576135ad61338c565b5f0392915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82613615577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b62ffffff818116838216029081169081811461322f5761322f61338c56fea164736f6c634300081d000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000004444c5dc75cb358380d2e3de08a900000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af080000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf
-----Decoded View---------------
Arg [0] : _manager (address): 0x000000000004444c5dc75cB358380D2e3dE08A90
Arg [1] : _pool (address): 0x7956FAd09a1D1C47550331E7f06bF7c7B7C2aF08
Arg [2] : _curveFactory (address): 0x6A8cbed756804B16E05E741eDaBd5cB544AE21bf
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90
Arg [1] : 0000000000000000000000007956fad09a1d1c47550331e7f06bf7c7b7c2af08
Arg [2] : 0000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf
🤖 Code Reader
Generate instant answers for your smart contract questions using AI Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 29 Chains
Tokens
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
DeFi
0 Protocols
Loading...
Loading
| Chain | Protocol | Positions | Portfolio % | Value |
|---|---|---|---|---|
There are no matching entries |
||||
DeFi
0 Protocols
Loading...
Loading
| Protocol | Positions | Portfolio % | Value |
|---|---|---|---|
There are no matching entries |
|||
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.


