[ { "inputs": [ { "internalType": "address", "name": "_factory", "type": "address" }, { "internalType": "address", "name": "_WNativeToken", "type": "address" }, { "internalType": "address", "name": "_tokenDescriptor_", "type": "address" }, { "internalType": "address", "name": "_poolDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "tickOutOfRange", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "name": "Collect", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "name": "DecreaseLiquidity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "farmingCenterAddress", "type": "address" } ], "name": "FarmingCenter", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "FarmingFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint128", "name": "liquidityDesired", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "actualLiquidity", "type": "uint128" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "pool", "type": "address" } ], "name": "IncreaseLiquidity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "BLAST", "outputs": [ { "internalType": "contract IBlast", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BLASTPOINTS", "outputs": [ { "internalType": "contract IBlastPoints", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NONFUNGIBLE_POSITION_MANAGER_ADMINISTRATOR_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "USDBBLAST", "outputs": [ { "internalType": "contract IERC20Rebasing", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WETHBLAST", "outputs": [ { "internalType": "contract IERC20Rebasing", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WNativeToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount0Owed", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Owed", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "algebraMintCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bool", "name": "approve", "type": "bool" }, { "internalType": "address", "name": "farmingAddress", "type": "address" } ], "name": "approveForFarming", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "claimWethAndUsdbYield", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint128", "name": "amount0Max", "type": "uint128" }, { "internalType": "uint128", "name": "amount1Max", "type": "uint128" } ], "internalType": "struct INonfungiblePositionManager.CollectParams", "name": "params", "type": "tuple" } ], "name": "collect", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "collector", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" } ], "name": "createAndInitializePoolIfNecessary", "outputs": [ { "internalType": "address", "name": "pool", "type": "address" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "amount0Min", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Min", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", "name": "params", "type": "tuple" } ], "name": "decreaseLiquidity", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "farmingApprovals", "outputs": [ { "internalType": "address", "name": "farmingCenterAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "farmingCenter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount0Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount0Min", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Min", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", "name": "params", "type": "tuple" } ], "name": "increaseLiquidity", "outputs": [ { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "isApprovedOrOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint256", "name": "amount0Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount0Min", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Min", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "internalType": "struct INonfungiblePositionManager.MintParams", "name": "params", "type": "tuple" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "poolDeployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "positions", "outputs": [ { "internalType": "uint88", "name": "nonce", "type": "uint88" }, { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "feeGrowthInside0LastX128", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthInside1LastX128", "type": "uint256" }, { "internalType": "uint128", "name": "tokensOwed0", "type": "uint128" }, { "internalType": "uint128", "name": "tokensOwed1", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "refundNativeToken", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "selfPermit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "selfPermitAllowed", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "selfPermitAllowedIfNecessary", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "selfPermitIfNecessary", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_collector", "type": "address" } ], "name": "setCollector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newFarmingCenter", "type": "address" } ], "name": "setFarmingCenter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amountMinimum", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "sweepToken", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bool", "name": "toActive", "type": "bool" } ], "name": "switchFarmingStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenFarmedIn", "outputs": [ { "internalType": "address", "name": "farmingCenterAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountMinimum", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "unwrapWNativeToken", "outputs": [], "stateMutability": "payable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6101a08060405234620004f65760009060808162005adc8038038091620000278285620007cf565b83398101031262000785576200003d81620007f3565b906200004c60208201620007f3565b6200006860606200006060408501620007f3565b9301620007f3565b604051946200007786620007b3565b601886527f416c676562726120506f736974696f6e73204e46542d56320000000000000000602087015260405195620000b087620007b3565b6008875267414c47422d504f5360c01b602088015260405196620000d488620007b3565b60018852601960f91b602089015281516001600160401b038111620006ad578354600181811c911680156200077a575b60208210146200068e57601f811162000734575b50806020601f8211600114620006cd578591620006c1575b508160011b916000199060031b1c19161783555b8051906001600160401b038211620006ad57600154600181811c91168015620006a2575b60208210146200068e579081601f8493116200062f575b50602090601f8311600114620005b8578592620005ac575b50508160011b916000199060031b1c1916176001555b60208151910120958660805260208151910120958660a0524660e0526040519660208801917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352604089015260608801524660808801523060a088015260a0875260c087019680881060018060401b038911176200059857604088905251902060c05230610100908152610120958652610140928352610160938452600a80546001600160a01b03191673c1d7b84fb8fe0691d156eda30f51fd48d219ea9417905595734300000000000000000000000000000000000002803b15620005625763784c3b3d60e11b82526004918381848183865af18015620005035762000582575b50803b156200056257604051634e606c4760e01b81528381848183865af1801562000503579084916200056a575b5050600a546001600160a01b0391908216813b1562000566578491602483926040519485938492631d70c8d360e31b8452898401525af1801562000503579084916200054a575b5050604051631a33757d60e01b80825260028483015290602081602481887342000000000000000000000000000000000000235af180156200053f576200050e575b50604051908152600283820152602081602481877342000000000000000000000000000000000000225af180156200050357620004cd575b50600a5416732fc95838c71e76ec69ff817983bff17c710f34e091823b15620004c95790602484928360405195869485936336b91f2b60e01b85528401525af18015620004be57620004a3575b50760100000000000000000000000000000000000000000001906011541617601155610180928352604051936152b39586620008098739608051866141f2015260a05186614218015260c051866141a3015260e0518661425e0152518561417401525184818161092c01528181611e05015261206e015251838181612705015281816127f801528181613e4701526142bf01525182818160250152818161161801528181611c1e0152614936015251816108410152f35b620004af829162000789565b620004bb5738620003ec565b80fd5b6040513d84823e3d90fd5b8380fd5b602090813d8311620004fb575b620004e68183620007cf565b81010312620004f657386200039f565b600080fd5b503d620004da565b6040513d86823e3d90fd5b602090813d831162000537575b620005278183620007cf565b81010312620004f6573862000367565b503d6200051b565b6040513d87823e3d90fd5b620005559062000789565b6200056257823862000325565b8280fd5b8480fd5b620005759062000789565b62000562578238620002de565b620005909093919362000789565b9138620002b0565b634e487b7160e01b83526041600452602483fd5b01519050388062000197565b6001865260008051602062005abc8339815191529250601f198416865b818110620006165750908460019594939210620005fc575b505050811b01600155620001ad565b015160001960f88460031b161c19169055388080620005ed565b92936020600181928786015181550195019301620005d5565b6001865290915060008051602062005abc833981519152601f840160051c81016020851062000686575b90849392915b601f830160051c82018110620006775750506200017f565b8781558594506001016200065f565b508062000659565b634e487b7160e01b85526022600452602485fd5b90607f169062000168565b634e487b7160e01b84526041600452602484fd5b90508301513862000130565b858052602086209150601f198316865b8181106200071b5750908360019493921062000701575b5050811b01835562000144565b85015160001960f88460031b161c191690553880620006f4565b9192602060018192868a015181550194019201620006dd565b84805260208520601f830160051c81016020841062000772575b601f830160051c820181106200076657505062000118565b8681556001016200074e565b50806200074e565b90607f169062000104565b5080fd5b6001600160401b0381116200079d57604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176200079d57604052565b601f909101601f19168101906001600160401b038211908210176200079d57604052565b51906001600160a01b0382168203620004f65756fe60c0806040526004361015610091575b50361561001b57600080fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361004d57005b606460405162461bcd60e51b815260206004820152601060248201527f4e6f7420574e6174697665546f6b656e000000000000000000000000000000006044820152fd5b600090813560e01c90816301ffc9a7146130965750806306fdde0314612fd6578063081812fc14612fb7578063095ea7b314612e6f5780630c49ccbe14612b9857806318160ddd14612b7a578063219f5d171461297357806323b872dd146129495780632d0b22de146129165780632f745c591461285757806330adf81f1461281c5780633119049a146127d85780633644e515146127bd5780633dd657c514612645578063418652701461262757806342842e0e146125ff57806342966c68146122c7578063430c2081146122725780634659a4941461225957806348045e111461211c5780634d10862d14611fef5780634f6ccce714611f4d57806351246d6e14611d7e57806360cfe75514611d4f5780636352211e14611d1f57806369bc35b214611c065780637022751514611aea57806370a0823114611abe578063728e616f14611a8f5780637ac2ff7b146116f8578063832f630a1461163c5780638af3ac85146115f8578063913e77ad146115d157806395d89b41146114c557806397d757761461149657806399fbab88146113755780639cc1a28314610d03578063a22cb46514610c33578063a4a78f0c14610c07578063ac9650d814610a7c578063b10c8fb914610a4d578063b227aa7914610a12578063b88d4fde14610984578063c2e3140a14610950578063c45a01551461090c578063c87b56dd146107c2578063dd56e5d81461079b578063df2ab5bb1461070e578063e7ce18a3146106db578063e985e9c514610686578063f3995c671461066a578063fb5b82d0146106235763fc6f78650361000f57608036600319011261062057600435906102fa82613ecc565b6001600160801b038061030b613d8c565b161580159061060e575b1561060a576001600160a01b03918261032c613b03565b166105fc5730935b808252601060205260408220600181015490848661035d69ffffffffffffffffffff8516613e03565b16918360501c60020b908460681c60020b9460801c99600482019a8b54968588169760801c93889480938061053b575b5050506004975061039c613d8c565b848716908716111561052d5783945b6103b3613da2565b838816908816111561051f5782935b6040519d8e917f4f1eb3d800000000000000000000000000000000000000000000000000000000835216998a91015260248d015260448c015260408b60a4818c898916998a606484015287169a8b60848401525af198891561051357809b819a6104ad575b5050606095937f40d0efd1a53d60ecbf40971b9daf7dc90178c3aadc7aab1765632738fa8b8f0197959361047e8c60409f958195031685906001600160801b036001600160801b031983549260801b169116179055565b03166001600160801b03198254161790558951928352602083015288820152a281845193168352166020820152f35b9a9b509b919694929850949260408a3d60401161050b575b816104d260409383613345565b81010312610507578a9b5099899a6104ea829b613e6b565b9b6020016104f790613e6b565b99939597929c8195979250610427565b8b80fd5b3d91506104c5565b604051903d90823e3d90fd5b610527613da2565b936103c2565b610535613d8c565b946103ab565b9293509450955060405195631d9de38760e11b87528560048801528260248801526000604488015260806064880152600360848801526203078360ec1b60a488015260408760c48160008c5af19687156105f0578c976105ba575b5097866105ab8193858960049d8d3091613b84565b9201169401169038808061038d565b604080929398503d83116105e9575b6105d38183613345565b810103126105e457948a9538610596565b600080fd5b503d6105c9565b6040513d6000823e3d90fd5b610604613b03565b93610334565b5080fd5b5080610618613da2565b161515610315565b80fd5b50346106205760203660031901126106205761063d6131ca565b6001600160a01b0319600a54916001600160a01b03906106603383861614614dec565b16911617600a5580f35b5061068361067736613255565b94939093929192614c8a565b80f35b5034610620576040366003190112610620576106a06131ca565b60406106aa6131e0565b926001600160a01b0380931681526005602052209116600052602052602060ff604060002054166040519015158152f35b5034610620576020366003190112610620576001600160a01b0360406020926004358152600d8452205416604051908152f35b506060366003190112610620576107236131ca565b61072b6131f6565b610734826148a7565b9060243582106107575781610747578380f35b61075092615167565b3880808380f35b606460405162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e7420746f6b656e00000000000000000000000000006044820152fd5b503461062057806003193601126106205760206001600160a01b03600b5416604051908152f35b50346106205760208060031936011261060a576004356108006107fb8260005260026020526001600160a01b0360406000205416151590565b61340d565b604051907fe9dc6375000000000000000000000000000000000000000000000000000000008252306004830152602482015282816044816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa92831561051357809361088b575b50506108876040519282849384528301906131a5565b0390f35b909192503d8082843e61089e8184613345565b820191838184031261060a5780519067ffffffffffffffff8211610908570182601f8201121561060a578051916108d483613367565b936108e26040519586613345565b83855285848401011161062057509061090091848085019101613182565b903880610871565b8280fd5b503461062057806003193601126106205760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5061095a36613255565b938061096887959395614d92565b10610971578680f35b61097a95614c8a565b3880808080808680f35b50346106205760803660031901126106205761099e6131ca565b6109a66131e0565b906064359067ffffffffffffffff8211610a0e5736602383011215610a0e57816004013592846109d585613367565b936109e36040519586613345565b858552366024878301011161060a5785610683966024602093018388013785010152604435916134ee565b8380fd5b503461062057806003193601126106205760206040517fff0e0466f109fcf4f5660899d8847c592e1e8dea30ffbe040704b23ad381d7628152f35b503461062057806003193601126106205760206040517342000000000000000000000000000000000000228152f35b5060208060031936011261060a5760043567ffffffffffffffff9283821161062057366023830112156106205781600401359184831161060a5760059460243685881b8401820111610a0e57610ad385939561487b565b94610ae16040519687613345565b838652601f19610af08561487b565b0187865b828110610bf757505050368190036042190190855b858110610b70575050505050506040519280840190808552835180925280604083818801981b870101940192955b828710610b445785850386f35b909192938280610b60600193603f198a820301865288516131a5565b9601920196019592919092610b37565b83818b1b8301013583811215610bf35782018481013590868211610bef576044018136038113610bef57818992918392604051928392833781018381520390305af4610bba61393a565b9015610be05790600191610bce828b614893565b52610bd9818a614893565b5001610b09565b8051908a898315610620575001fd5b8880fd5b8780fd5b6060898201830152899101610af4565b50610c1136613255565b93909290600019610c2187614d92565b10610c2a578680f35b61097a95614d0a565b503461062057604036600319011261062057610c4d6131ca565b6001600160a01b03610c5d613295565b911690813314610cbf573383526005602052604083208260005260205260406000209015159060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b606460405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5061014036600319011261062057610d1d61012435614b71565b610d9c610d28613aed565b610d30613b03565b610d38613b19565b6001600160a01b03610d48613b29565b928160405195610d57876132a4565b16855216602084015230604084015260020b606083015260020b608082015260843560a082015260a43560c082015260c43560e082015260e435610100820152614284565b939490926001600160a01b03610104351661010435036105e457601154946001600160b01b036001818816011675ffffffffffffffffffffffffffffffffffffffffffff198716176011556001600160a01b0361010435161561133157610e2b610e256001600160b01b03881660005260026020526001600160a01b0360406000205416151590565b15613b39565b6008546001600160b01b0387166000526009602052806040600020556801000000000000000081101561128857610e6b816001610e8c9301600855613aa0565b6001600160b01b0389169082549060031b91821b91600019901b1916179055565b610e9861010435613383565b6001600160a01b03610104351660005260066020526040600020816000526020526001600160b01b0387166040600020556001600160b01b0387166000526007602052604060002055610f0d610e256001600160b01b03881660005260026020526001600160a01b0360406000205416151590565b610104356001600160a01b0316808452600360209081526040808620805460010190556001600160b01b0389168087526002909252852080546001600160a01b0319168317905590847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4610f95610f85613b19565b610f8d613b29565b903084614fbe565b505098915093610fa3613aed565b916001600160a01b03610fb4613b03565b8160405195610fc2876132c1565b1685521660208401526001600160a01b0384168252600e6020526040822069ffffffffffffffffffff81541693841561129e575b5050611000613b19565b611008613b29565b91604051938461014081011067ffffffffffffffff61014087011117611288576cffffff000000000000000000006001600160801b0361012060809f978f97604061122196859f9b8f9c877f8a82de7fe9b33e0e6bca0e26f5bd14a74f1164ffe236d50e0a36c3ea70f2b8149f9e6001600160b01b039f966112649e69ffffffffffffffffffff6004996101408c018a52888c528860208d015216888b015260020b60608a015260020b60808901521660a087015260c086015260e08501528061010085015280858501528b8b1681526010602052206affffffffffffffffffffff8351166affffffffffffffffffffff198254161781556111626001600160a01b0360208501511682907fff0000000000000000000000000000000000000000ffffffffffffffffffffff7effffffffffffffffffffffffffffffffffffffff000000000000000000000083549260581b169116179055565b6111da6001820169ffffffffffffffffffff6040860151168154606087015160501b91608088015160681b6fffffff0000000000000000000000000016926001600160801b03199b8c9116921617171781558660a0860151166001600160801b036001600160801b031983549260801b169116179055565b60c0830151600282015560e0830151600382015501938361010083015116908554161784550151166001600160801b036001600160801b031983549260801b169116179055565b604080516001600160801b03928316815291881660208301528101899052606081018a90526001600160a01b0395909516608086015291169290819060a0820190565b0390a26001600160b01b036040519516855216602084015260408301526060820152f35b634e487b7160e01b600052604160045260246000fd5b9093506011548060b01c906001600160b01b0375ffffffffffffffffffffffffffffffffffffffffffff196001840160b01b1691161760115580948169ffffffffffffffffffff198254161790558352600f6020526001600160a01b036020600160408620838551166001600160a01b031982541617815501920151166001600160a01b03198254161790553880610ff6565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b5034610620576020366003190112610620576004358152601060205260408120600181015469ffffffffffffffffffff8116801561145257836040916101609552600f60205220918054926001600160a01b039283600181845416930154166002840154926004600386015495015495604051976affffffffffffffffffffff8116895260581c166020880152604087015260608601528060501c60020b60808601528060681c60020b60a086015260801c60c085015260e08401526101008301526001600160801b03811661012083015260801c610140820152f35b606460405162461bcd60e51b815260206004820152601060248201527f496e76616c696420746f6b656e204944000000000000000000000000000000006044820152fd5b503461062057806003193601126106205760206040517343000000000000000000000000000000000000028152f35b5034610620578060031936011261062057604051908060019182549283811c928185169485156115c7575b60209586861081146115b357858852879493929187908215611591575050600114611538575b505061152492500383613345565b6108876040519282849384528301906131a5565b908592508082527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b85831061157957505061152493508201013880611516565b80548389018501528794508693909201918101611561565b925093505061152494915060ff191682840152151560051b8201013880611516565b602483634e487b7160e01b81526022600452fd5b93607f16936114f0565b503461062057806003193601126106205760206001600160a01b03600a5416604051908152f35b503461062057806003193601126106205760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50606036600319011261062057600435611654613295565b9061165d6131f6565b61166682613ecc565b8392611695575b508252600c6020526001600160a01b036040832091166001600160a01b031982541617905580f35b9091506001600160a01b0380600b5416908216036116b457903861166d565b606460405162461bcd60e51b815260206004820152601760248201527f496e76616c6964206661726d696e6720616464726573730000000000000000006044820152fd5b5061170236613255565b9195949290814211611a4b5761171661416a565b8587526020976010895260408820918254926affffffffffffffffffffff93848116946001860116906affffffffffffffffffffff19161790556040518a8101907f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad82526001600160a01b0396878a16958660408401528b6060840152608083015260a082015260a081526117aa8161330d565b519020604051908b8201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526117ef81613329565b519020936117fc88613458565b8181168094146119e1578a94939291908a903b1561194e5750507fff00000000000000000000000000000000000000000000000000000000000000906118a395966040519486860152604085015260f81b1660608301526041825261186082613329565b60405180809581947f1626ba7e000000000000000000000000000000000000000000000000000000009889845260048401526040602484015260448301906131a5565b03915afa90811561194357906001600160e01b0319918691611916575b5016036118d2576106839293506140d2565b6064846040519062461bcd60e51b82526004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152fd5b6119369150873d891161193c575b61192e8183613345565b81019061391a565b386118c0565b503d611924565b6040513d87823e3d90fd5b9360ff6080949892979360405194855216868401526040830152606082015282805260015afa156119d657845116801561199257036118d2576106839293506140d2565b6064866040519062461bcd60e51b82526004820152601160248201527f496e76616c6964207369676e61747572650000000000000000000000000000006044820152fd5b6040513d86823e3d90fd5b60848b6040519062461bcd60e51b82526004820152602760248201527f4552433732315065726d69743a20617070726f76616c20746f2063757272656e60448201527f74206f776e6572000000000000000000000000000000000000000000000000006064820152fd5b606460405162461bcd60e51b815260206004820152600e60248201527f5065726d697420657870697265640000000000000000000000000000000000006044820152fd5b50346106205780600319360112610620576020604051732fc95838c71e76ec69ff817983bff17c710f34e08152f35b5034610620576020366003190112610620576020611ae2611add6131ca565b613383565b604051908152f35b503461062057604036600319011261062057600435611b07613295565b906001600160a01b039081600b5416803314938590600014611be75750818552600c602052808360408720541603611ba357925b15611b5f578352600d6020526040832091166001600160a01b031982541617905580f35b606460405162461bcd60e51b815260206004820152601260248201527f4f6e6c79204661726d696e6743656e74657200000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601860248201527f4e6f7420617070726f76656420666f72206661726d696e6700000000000000006044820152fd5b93905080611b3b5750808452600d602052816040852054163314611b3b565b50604036600319011261062057611c1b6131e0565b907f0000000000000000000000000000000000000000000000000000000000000000611c46816148a7565b906004358210611cdb5781611c59578280f35b6001600160a01b0316803b15610908578280916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528760048401525af18015611cd057611cbd575b50611cb6919261523b565b8038808280f35b91611cca611cb6936132dd565b91611cab565b6040513d85823e3d90fd5b606460405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420574e6174697665546f6b656e000000000000006044820152fd5b5034610620576020366003190112610620576020611d3e600435613458565b6001600160a01b0360405191168152f35b503461062057806003193601126106205760206040517342000000000000000000000000000000000000238152f35b50606036600319011261062057611d936131ca565b90611d9c6131e0565b906001600160a01b03604435818116810361090857611dc082851683871610614bbd565b6040517fd9a641e10000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152851660248201526020959094907f00000000000000000000000000000000000000000000000000000000000000008416908787604481855afa968715611f425790889392918798611f23575b508786811680611ef25750506040517fe34336150000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201529216602483015294955092939192918290604490829088905af19384156105135793611ebf575b50611eb69083614c27565b60405191168152f35b611eb6919350611ee490853d8711611eeb575b611edc8183613345565b810190614c08565b9290611eab565b503d611ed2565b925095965050859250611f05915061509e565b1615611f13575b5050611eb6565b611f1c91614c27565b3880611f0c565b611f3b919850843d8611611eeb57611edc8183613345565b9638611e42565b6040513d88823e3d90fd5b503461062057602036600319011261062057600435600854811015611f8557611f77602091613aa0565b90546040519160031b1c8152f35b608460405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152fd5b50346106205760208060031936011261060a5761200a6131ca565b906040517fe8ae2b690000000000000000000000000000000000000000000000000000000081527fff0e0466f109fcf4f5660899d8847c592e1e8dea30ffbe040704b23ad381d76260048201523360248201526001600160a01b03908281604481857f0000000000000000000000000000000000000000000000000000000000000000165afa9081156119435785916120e3575b5015610a0e577f29f9e1ebeee07596f3165f3e42cb9d4d8d22b0481e968d6c74be3dd037c15d9b9216806001600160a01b0319600b541617600b55604051908152a180f35b90508281813d8311612115575b6120fa8183613345565b810103126121115761210b90613e7f565b3861209e565b8480fd5b503d6120f0565b5034610620576040366003190112610620576121366131ca565b60243561214f6001600160a01b03600a54163314614dec565b6040517faad3ec96000000000000000000000000000000000000000000000000000000008082526001600160a01b038416600483015260248201839052602093908483604481897342000000000000000000000000000000000000235af1928315611f4257859361222d575b506040519081526001600160a01b03919091166004820152602481019290925281604481867342000000000000000000000000000000000000225af18015611cd057612205578280f35b813d8311612226575b6122188183613345565b810103126106205738808280f35b503d61220e565b8391933d8311612252575b6122428183613345565b81010312612111578391386121bb565b503d612238565b5061068361226636613255565b94939093929192614d0a565b50346106205760403660031901126106205760206122bd6122916131ca565b602435906122b86107fb8360005260026020526001600160a01b0360406000205416151590565b613584565b6040519015158152f35b5060208060031936011261060a57600435906122e282613ecc565b8183526010815260408320600460018201549101546001600160801b0391828260801c92169060801c1717166125bb5781835260108152826004604082208281558260018201558260028201558260038201550155600d8152604083206001600160a01b03199081815416905561235883613458565b916001600160a01b039283811690811580159081612577575b156124df5750505060085484865260098252806040872055680100000000000000008110156124cb57846123ae8260016123c79401600855613aa0565b90919082549060031b91821b91600019901b1916179055565b60085460001993908481019081116124b757858752600983526123ee604088205491613aa0565b90549060031b1c612402816123ae84613aa0565b875260098352604087205584865285604081205560085480156124a3579160029185889695940161243281613aa0565b8782549160031b1b1916905560085561244a87613458565b87875260048352604087208581541690551693848652600382526040862090815401905585855252604083209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b602487634e487b7160e01b81526031600452fd5b602487634e487b7160e01b81526011600452fd5b602486634e487b7160e01b81526041600452fd5b6124eb575b50506123c7565b6124f490613383565b6000198101919082116124b75785875260078352604087205482810361253b575b5085875286604081205586526006825260408620908652815284604081205538806124e4565b8188526006845260408820838952845260408820548289526006855260408920828a5285528060408a2055885260078452604088205538612515565b87895260108552604089207fff0000000000000000000000000000000000000000ffffffffffffffffffffff8154169055600c855260408920868154169055612371565b6064906040519062461bcd60e51b82526004820152600b60248201527f4e6f7420636c65617265640000000000000000000000000000000000000000006044820152fd5b50346106205761068361261136613220565b906040519261261f846132f1565b8584526134ee565b5080600319360112610620574761263b5780f35b610683473361523b565b50346106205760603660031901126106205760043560243560443567ffffffffffffffff80821161211157366023830112156121115781600401359081116121115781013660248201116121115781900392606084126121115760408051946126ad866132c1565b1261211157612729906126f06064604051946126c8866132c1565b6126d46024820161320c565b86526126e26044820161320c565b60208701528588520161320c565b92602086019384526001600160a01b039283917f0000000000000000000000000000000000000000000000000000000000000000614ed2565b163303612779578061275e575b5082612740578480f35b8060206127569551015116903392511690614927565b388080808480f35b61277390828651511633908486511690614927565b38612736565b606460405162461bcd60e51b815260206004820152601a60248201527f496e76616c69642063616c6c6572206f662063616c6c6261636b0000000000006044820152fd5b50346106205780600319360112610620576020611ae261416a565b503461062057806003193601126106205760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461062057806003193601126106205760206040517f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad8152f35b5034610620576040366003190112610620576128716131ca565b6024359161287e82613383565b8310156128ac576020926001600160a01b036040931682526006845282822090825283522054604051908152f35b608460405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152fd5b5034610620576020366003190112610620576001600160a01b0360406020926004358152600c8452205416604051908152f35b50346106205761068361295b36613220565b9161296e6129698433613584565b61347d565b613663565b5060c0366003190112610620576001600160801b03610887612a779261299a60a435614b71565b60043581526010602052604081207f8a82de7fe9b33e0e6bca0e26f5bd14a74f1164ffe236d50e0a36c3ea70f2b814612aef604060018401549469ffffffffffffffffffff86168152600f60205220936001600160a01b036001818754169601541660405195612a09876132a4565b86526020860152306040860152612aab8160501c60020b948560608801526001612a608460681c60020b9889608082015260243560a082015260443560c082015260643560e0820152608435610100820152614284565b9a88929f919c849f959960801c918d30908a613b84565b908482821716612b2d575b505060801c01169101906001600160801b036001600160801b031983549260801b169116179055565b604080516001600160801b03928316815291881660208301528101889052606081018590526001600160a01b039390931660808401526004359290819060a0820190565b0390a2612b076001600160801b038416600435613f90565b604051938493846040919493926001600160801b03606083019616825260208201520152565b84612b739260048901926001600160801b031983855492818416011691161780845560801c01166001600160801b036001600160801b031983549260801b169116179055565b3880612a82565b50346106205780600319360112610620576020600854604051908152f35b5060a036600319011261062057612bb0600435613ecc565b612bbb608435614b71565b6001600160801b03612bcb613d76565b16156106205760043581526010602052604081206001810154906001600160801b03612bf5613d76565b168260801c10610908576001600160a01b03612c1c69ffffffffffffffffffff8416613e03565b1690612c26613d76565b926001600160801b0360405194631d9de38760e11b86528260501c60020b60048701528260681c60020b602487015216604485015260806064850152600360848501526203078360ec1b60a485015260408460c48188875af19283156119435785948694612e28575b506001600160801b03612d5b9392612d2b82612cd96001956044358b101580612e1c575b612cbc90613db8565b8460801c908560681c60020b908660501c60020b9030908b613b84565b828b6001600160801b0319828060048d989798019781895495160116818416011691161791828555818c1601169060801c01166001600160801b036001600160801b031983549260801b169116179055565b612d33613d76565b9060801c03169101906001600160801b036001600160801b031983549260801b169116179055565b612d63613d76565b7f26f6a048ee9138f2c0ce266f322cb99228e8d619ae2bff30c67f8dcf9d2377b460405180612db1858760043596846040919493926001600160801b03606083019616825260208201520152565b0390a26001600160801b03612dc4613d76565b167f80000000000000000000000000000000000000000000000000000000000000008114612e0857612dfc9060409403600435613f90565b82519182526020820152f35b602484634e487b7160e01b81526011600452fd5b506064358a1015612cb3565b94509250906040843d604011612e67575b81612e4660409383613345565b81010312612111578351602090940151929091906001600160801b03612c8f565b3d9150612e39565b503461062057604036600319011261062057612e896131ca565b6024356001600160a01b0380612e9e83613458565b168091841614612f4d57803314908115612f2c575b5015612ec257610683916140d2565b608460405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b9050835260056020526040832033845260205260ff60408420541638612eb3565b608460405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152fd5b5034610620576020366003190112610620576020611d3e600435613e8c565b50346106205780600319360112610620576040519080805491600183811c9281851694851561308c575b60209586861081146115b35785885287949392918790821561159157505060011461303357505061152492500383613345565b908592508180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b85831061307457505061152493508201013880611516565b8054838901850152879450869390920191810161305c565b93607f1693613000565b90503461060a57602036600319011261060a576004356001600160e01b0319811680910361090857602092507f780e9d630000000000000000000000000000000000000000000000000000000081149081156130f4575b5015158152f35b7f80ac58cd00000000000000000000000000000000000000000000000000000000811491508115613158575b811561312e575b50386130ed565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438613127565b7f5b5e139f0000000000000000000000000000000000000000000000000000000081149150613120565b60005b8381106131955750506000910152565b8181015183820152602001613185565b906020916131be81518092818552858086019101613182565b601f01601f1916010190565b600435906001600160a01b03821682036105e457565b602435906001600160a01b03821682036105e457565b604435906001600160a01b03821682036105e457565b35906001600160a01b03821682036105e457565b60609060031901126105e4576001600160a01b039060043582811681036105e4579160243590811681036105e4579060443590565b60c09060031901126105e4576004356001600160a01b03811681036105e45790602435906044359060643560ff811681036105e457906084359060a43590565b6024359081151582036105e457565b610120810190811067ffffffffffffffff82111761128857604052565b6040810190811067ffffffffffffffff82111761128857604052565b67ffffffffffffffff811161128857604052565b6020810190811067ffffffffffffffff82111761128857604052565b60c0810190811067ffffffffffffffff82111761128857604052565b6080810190811067ffffffffffffffff82111761128857604052565b90601f8019910116810190811067ffffffffffffffff82111761128857604052565b67ffffffffffffffff811161128857601f01601f191660200190565b6001600160a01b031680156133a357600052600360205260406000205490565b608460405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152fd5b1561341457565b606460405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152fd5b60005260026020526001600160a01b036040600020541661347a81151561340d565b90565b1561348457565b608460405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152fd5b906135129392916135026129698433613584565b61350d838383613663565b61396a565b1561351957565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608490fd5b906001600160a01b03808061359884613458565b169316918383149384156135cb575b5083156135b5575b50505090565b6135c191929350613e8c565b16143880806135af565b909350600052600560205260406000208260005260205260ff6040600020541692386135a7565b156135f957565b608460405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152fd5b6136879161367084613458565b6001600160a01b03938484169391851684146135f2565b8382169384156138b157839182158015613860575b156137a757509050600854908560005260096020528160406000205568010000000000000000821015611288576136fb926136e2876123ae856001899701600855613aa0565b828603613774575b506136f486613458565b16146135f2565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206001600160a01b03199081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b61377d90613383565b604060008781526006602052818120838252602052888282205588815260076020522055386136ea565b8583036137b9575b506136fb926136e2565b6137c4919250613383565b60001981019190821161384a576136fb9284926000908882526020906007825260409182842054828103613813575b508a845283838120558684526006815282842091845252812055926137af565b87855260068252838520838652825283852054888652600683528486208287528352808587205585526007825283852055386137f3565b634e487b7160e01b600052601160045260246000fd5b87600052601060205260406000207fff0000000000000000000000000000000000000000ffffffffffffffffffffff8154169055600c60205260406000206001600160a01b0319815416905561369c565b608460405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b908160209103126105e457516001600160e01b0319811681036105e45790565b3d15613965573d9061394b82613367565b916139596040519384613345565b82523d6000602084013e565b606090565b9192813b15613a97576020916139d69160006040519586809581947f150b7a02000000000000000000000000000000000000000000000000000000009a8b84523360048501526001600160a01b03809516602485015260448401526080606484015260848301906131a5565b0393165af160009181613a77575b50613a69576139f161393a565b80519081613a645760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608490fd5b602001fd5b6001600160e01b0319161490565b613a9091925060203d811161193c5761192e8183613345565b90386139e4565b50505050600190565b600854811015613ad75760086000527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30190600090565b634e487b7160e01b600052603260045260246000fd5b6004356001600160a01b03811681036105e45790565b6024356001600160a01b03811681036105e45790565b6044358060020b81036105e45790565b6064358060020b81036105e45790565b15613b4057565b606460405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152fd5b959391613b919391614fbe565b50509150926002850193613bbc613bc9600387548403946001600160801b0393848092168097613bcf565b1698019384548603613bcf565b16945555565b818102919060001982820991838084109303918383039370010000000000000000000000000000000093858511156105e45714613c19570990828211900360801b910360801c1790565b5050505060801c90565b81810291906000198282099183808410930391838303936c0100000000000000000000000093858511156105e45714613c69570990828211900360a01b910360601c1790565b5050505060601c90565b908160601b906c01000000000000000000000000600019818509938380861095039480860395868511156105e45714613cf8579082910981806000031680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b505091500490565b9181830291600019818509938380861095039480860395868511156105e45714613cf8579082910981806000031680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b6024356001600160801b03811681036105e45790565b6044356001600160801b03811681036105e45790565b6064356001600160801b03811681036105e45790565b15613dbf57565b606460405162461bcd60e51b815260206004820152601460248201527f507269636520736c69707061676520636865636b0000000000000000000000006044820152fd5b69ffffffffffffffffffff16600052600f60205261347a604060002060405190613e2c826132c1565b60016001600160a01b039182815416845201541660208201527f0000000000000000000000000000000000000000000000000000000000000000614ed2565b51906001600160801b03821682036105e457565b519081151582036105e457565b613eaf6107fb8260005260026020526001600160a01b0360406000205416151590565b60005260106020526001600160a01b0360406000205460581c1690565b613ed69033613584565b15613edd57565b606460405162461bcd60e51b815260206004820152600c60248201527f4e6f7420617070726f76656400000000000000000000000000000000000000006044820152fd5b600060443d1061347a57604051600319913d83016004833e815167ffffffffffffffff918282113d602484011117613f7f57818401948551938411613f87573d85010160208487010111613f7f575061347a92910160200190613345565b949350505050565b50949350505050565b600091818352600d6020526001600160a01b0390816040852054169182156140cb57600b54169182156140cb578214613fca575b50505050565b813b15610a0e5783916044839260405194859384927f06e65c9000000000000000000000000000000000000000000000000000000000845288600485015260248401525af190816140b8575b506140b1576001908260033d116140a1575b806308c379a01461409857634e487b711461404e575b5061051357505b38808080613fc4565b8260233d1161408a575b1561403e578291507f4f27462fbdc9bce16bb573a06acba6b27394e151da96ce8098d8e29a6dc8d64b8280a23861403e565b5060206004843e6001614058565b50614058613f21565b50600483803e825160e01c614028565b5050614045565b6140c4909391936132dd565b9138614016565b5050505050565b600082815260106020526040902080547fff0000000000000000000000000000000000000000ffffffffffffffffffffff16605883901b7effffffffffffffffffffffffffffffffffffffff0000000000000000000000161790556001600160a01b038061413f84613458565b169116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630148061425b575b156141c5577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526142558161330d565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461419c565b9060808281526001600160a01b038060208186511695015116926040938451956142ad876132c1565b8652602086018060a05252816142e3867f0000000000000000000000000000000000000000000000000000000000000000614ed2565b16906142ee8261509e565b926060809481875101614402614307825160020b6144fd565b9a6001600160801b038a80510194614322865160020b6144fd565b8c519e8f9160c060a0840151930151829180938d808316908216116144f2575b5050848c1694828d1686116144a657505061435d9350614e5d565b878d829f015116945160020b955160020b978d6020815161437d816132c1565b868152019033825282815196511660208701528260a0515116908601525116878401528683526143ac83613329565b8c5197889687967faafe29c000000000000000000000000000000000000000000000000000000000885233600489015260248801526044870152606486015216608484015260c060a484015260c48301906131a5565b03816000875af190811561449b5760009687958893614450575b50505061443e9095848196519160e083015111159182614440575b5050613db8565b565b6101000151111590503880614437565b8298935080929196503d8311614494575b61446b8183613345565b81010312610620575061443e61448986519460208801519701613e6b565b93959390388061441c565b503d614461565b86513d6000823e3d90fd5b92909391948c8216116000146144e65782916144c6916144cc9594614e5d565b93614ea9565b80831682841610156144df57505b61435d565b905061435d565b9150506144da92614ea9565b935091503880614342565b8060020b908160171d60020b80910160020b1862ffffff811690620d89e88211614851576001600160a01b039263ffffffff927001000000000000000000000000000000009260018116614839575b6002811661481d575b60048116614801575b600881166147e5575b601081166147c9575b602081166147ad575b60408116614791575b608091828216614776575b610100821661475b575b6102008216614740575b6104008216614725575b610800821661470a575b61100082166146ef575b61200082166146d4575b61400082166146b9575b618000821661469e575b620100008216614683575b620200008216614669575b620400008091101561461c575b505050600012614613575b0160201c1690565b6000190461460b565b811661464f575b6208000016614634575b8080614600565b6b048a170391f7dc42444e8fa26000929302901c919061462d565b6d2216e584f5fa1ea926041bedfe98909302811c92614623565b936e5d6af8dedb81196699c329225ee60402821c936145f3565b936f09aa508b5b7a84e1c677de54f3e99bc902821c936145e8565b936f31be135f97d08fd981231505542fcfa602821c936145dd565b936f70d869a156d2a1b890bb3df62baf32f702821c936145d3565b936fa9f746462d870fdf8a65dc1f90e061e502821c936145c9565b936fd097f3bdfd2022b8845ad8f792aa582502821c936145bf565b936fe7159475a2c29b7443b29c7fa6e889d902821c936145b5565b936ff3392b0822b70005940c7a398e4b70f302821c936145ab565b936ff987a7253ac413176f2b074cf7815e5402821c936145a1565b936ffcbe86c7900a88aedcffc83b479aa3a402821c93614597565b936ffe5dee046a99a2a811c461f1969c305302821c9361458d565b926fff2ea16466c96a3843ec78b326b528610260801c92614582565b926fff973b41fa98c081472e6896dfb254c00260801c92614579565b926fffcb9843d60f6159c9db58835c9266440260801c92614570565b926fffe5caca7e10e4e61c3624eaa0941cd00260801c92614567565b926ffff2e50f5f656932ef12357cf3c7fdcc0260801c9261455e565b926ffff97272373d413259a46990580e213a0260801c92614555565b6ffffcb933bd6fad37aa2d162d1a594001935061454c565b60046040517f3c10250f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff81116112885760051b60200190565b8051821015613ad75760209160051b010190565b60206001600160a01b03916024604051809481937f70a08231000000000000000000000000000000000000000000000000000000008352306004840152165afa9081156105f0576000916148f9575090565b906020823d821161491f575b8161491260209383613345565b8101031261062057505190565b3d9150614905565b9392936001600160a01b0390817f00000000000000000000000000000000000000000000000000000000000000001692838383161480614b67575b15614a5357505050803b156105e457604051937fd0e30db0000000000000000000000000000000000000000000000000000000008552600091828660048185855af1958615611cd0576149ed9596614a41575b50829360209360405180978195829463a9059cbb60e01b845260048401602090939291936001600160a01b0360408201951681520152565b03925af18015614a34576149ff575050565b6020823d8211614a2c575b81614a1760209383613345565b810103126106205750614a2990613e7f565b50565b3d9150614a0a565b50604051903d90823e3d90fd5b92614a4d6020946132dd565b926149b5565b94959482169493925090308503614a6f575061443e9350615167565b604093919293519360208501957f23b872dd000000000000000000000000000000000000000000000000000000008752602486015216604484015260648301526064825260a082019282841067ffffffffffffffff851117611288576000809493819460405251925af1614ae161393a565b81614b30575b5061443e57606460405162461bcd60e51b815260206004820152600360248201527f53544600000000000000000000000000000000000000000000000000000000006044820152fd5b8051801592508215614b45575b505038614ae7565b81925090602091810103126105e4576020614b609101613e7f565b3880614b3d565b5086471015614962565b4211614b7957565b606460405162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c64000000000000000000000000006044820152fd5b15614bc457565b606460405162461bcd60e51b815260206004820152601760248201527f496e76616c6964206f72646572206f6620746f6b656e730000000000000000006044820152fd5b908160209103126105e457516001600160a01b03811681036105e45790565b906001600160a01b0380921691823b156105e45760246000928360405195869485937ff637731d0000000000000000000000000000000000000000000000000000000085521660048401525af180156105f057614c815750565b61443e906132dd565b6001600160a01b0390959293951693843b156105e45760009460e493869260ff604051998a9889977fd505accf0000000000000000000000000000000000000000000000000000000089523360048a01523060248a01526044890152606488015216608486015260a485015260c48401525af180156105f057614c815750565b6001600160a01b0390959293951693843b156105e45760009461010493869260ff604051998a9889977f8fcbaf0c0000000000000000000000000000000000000000000000000000000089523360048a01523060248a015260448901526064880152600160848801521660a486015260c485015260e48401525af180156105f057614c815750565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290602090829060449082906001600160a01b03165afa9081156105f0576000916148f9575090565b15614df357565b608460405162461bcd60e51b815260206004820152602260248201527f426c6173743a2063616c6c6572206973206e6f742074686520636f6c6c65637460448201527f6f720000000000000000000000000000000000000000000000000000000000006064820152fd5b90614e8f92916001600160a01b039081831682821611614ea3575b614e86828416838316613c23565b92031691613d00565b6001600160801b0381169081036105e45790565b91614e78565b90614e8f92916001600160a01b039182811683831611614ecc575b031690613c73565b90614ec4565b6001600160a01b0391614f2a614f3884808085511694614efa60208201968388511611614bbd565b51169351166040519283916020830195869060209093929360408301946001600160a01b03809216845216910152565b03601f198101835282613345565b5190206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084526bffffffffffffffffffffffff199060601b16602183015260358201527f9d7a0d0c8a73d193ce75fddc7c27a0da009f272251638342b34b1cfeb6f200d1605582015260558152614fb781613329565b5190201690565b60a092936001600160a01b0360249260405196879586947f514ea4bf00000000000000000000000000000000000000000000000000000000865262ffffff80911692169060181b1760181b176004840152165afa9081156105f05760009182938380938193615030575b509493929190565b9450925093505060a0823d8211615087575b8161504f60a09383613345565b8101031261062057508051602082015160408301519361507d608061507660608701613e6b565b9501613e6b565b9194939238615028565b3d9150615042565b519061ffff821682036105e457565b604051907fe76c01e400000000000000000000000000000000000000000000000000000000825260c0826004816001600160a01b038095165afa9182156105f0576000926150eb57505090565b909160c0823d821161515f575b8161510560c09383613345565b8101031261062057815192831683036106205760208201518060020b03610620576151326040830161508f565b50606082015160ff811603610620575060a081615154608061515b940161508f565b5001613e7f565b5090565b3d91506150f8565b60405163a9059cbb60e01b602082019081526001600160a01b039093166024820152604481019390935260009283929083906151a68160648101614f2a565b51925af16151b261393a565b81615204575b50156151c057565b606460405162461bcd60e51b815260206004820152600260248201527f53540000000000000000000000000000000000000000000000000000000000006044820152fd5b8051801592508215615219575b5050386151b8565b81925090602091810103126105e45760206152349101613e7f565b3880615211565b600080809381938260405161524f816132f1565b525af161525a61393a565b501561526257565b606460405162461bcd60e51b815260206004820152600360248201527f53544500000000000000000000000000000000000000000000000000000000006044820152fdfea164736f6c6343000814000ab10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6000000000000000000000000805f104051415863bbdf458cdcd52ceb5fed9c0100000000000000000000000042000000000000000000000000000000000000230000000000000000000000001a69e9b9f43602f1f9a3c98874732b18b09b526d000000000000000000000000a49d3b7db0a8ab1c96fcc097bc53b8f594c57ad8
0x000000000000000000000000805f104051415863bbdf458cdcd52ceb5fed9c0100000000000000000000000042000000000000000000000000000000000000230000000000000000000000001a69e9b9f43602f1f9a3c98874732b18b09b526d000000000000000000000000a49d3b7db0a8ab1c96fcc097bc53b8f594c57ad8
----Decoded View------------Arg [0] : _factory (address): 0x805F104051415863Bbdf458cDCd52ceB5FEd9c01Arg [1] : _WNativeToken (address): 0x4200000000000000000000000000000000000023Arg [2] : _tokenDescriptor_ (address): 0x1A69E9B9F43602F1f9a3C98874732b18B09B526DArg [3] : _poolDeployer (address): 0xA49d3b7dB0A8ab1C96Fcc097bc53b8F594c57Ad8
----Encoded View------------Arg [0] : 0x000000000000000000000000805f104051415863bbdf458cdcd52ceb5fed9c01Arg [1] : 0x0000000000000000000000004200000000000000000000000000000000000023Arg [2] : 0x0000000000000000000000001a69e9b9f43602f1f9a3c98874732b18b09b526dArg [3] : 0x000000000000000000000000a49d3b7db0a8ab1c96fcc097bc53b8f594c57ad8